﻿<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Interactive BOM for KiCAD</title>
  <style type="text/css">
:root {
  --pcb-edge-color: black;
  --pad-color: #878787;
  --pad-hole-color: #CCCCCC;
  --pad-color-highlight: #D04040;
  --pin1-outline-color: #ffb629;
  --pin1-outline-color-highlight: #b4ff03;
  --silkscreen-edge-color: #aa4;
  --silkscreen-polygon-color: #4aa;
  --silkscreen-text-color: #4aa;
  --fabrication-edge-color: #907651;
  --fabrication-polygon-color: #907651;
  --fabrication-text-color: #a27c24;
  --track-color: #def5f1;
  --track-color-highlight: #D04040;
  --zone-color: #def5f1;
  --zone-color-highlight: #d0404080;
}

html, body {
  margin: 0px;
  height: 100%;
  font-family: Verdana, sans-serif;
}

.dark.topmostdiv {
  --pcb-edge-color: #eee;
  --pad-color: #808080;
  --pin1-outline-color: #ffa800;
  --pin1-outline-color-highlight: #ccff00;
  --track-color: #42524f;
  --zone-color: #42524f;
  background-color: #252c30;
  color: #eee;
}

button {
  background-color: #eee;
  border: 1px solid #888;
  color: black;
  height: 44px;
  width: 44px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  font-weight: bolder;
}

.dark button {
  /* This will be inverted */
  background-color: #c3b7b5;
}

button.depressed {
  background-color: #0a0;
  color: white;
}

.dark button.depressed {
  /* This will be inverted */
  background-color: #b3b;
}

button:focus {
  outline: 0;
}

button#tb-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.32 290.12h5.82M1.32 291.45h5.82' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 292.5v4.23M.26 292.63H8.2' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='1.35' y='295.73'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}

button#lr-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.06 290.12H3.7m-2.64 1.33H3.7m-2.64 1.32H3.7m-2.64 1.3H3.7m-2.64 1.33H3.7' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 288.8v7.94m0-4.11h3.96' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='5.11' y='291.96'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}

button#bom-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)' fill='none' stroke='%23000' stroke-width='.4'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' stroke-linejoin='round'/%3E%3Cpath d='M1.59 290.12h5.29M1.59 291.45h5.33M1.59 292.75h5.33M1.59 294.09h5.33M1.59 295.41h5.33'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-grouped-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m4 0h5m4 0h3M6.1 22h3m3.9 0h5m4 0h4m-16-8h4m4 0h4'/%3E%3Cpath stroke-linecap='null' d='M5 17.5h22M5 26.6h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-ungrouped-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m-4 8h3m-3 8h4'/%3E%3Cpath stroke-linecap='null' d='M5 13.5h22m-22 8h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-netlist-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke='%23000' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-width='2' d='M6 26l6-6v-8m13.8-6.3l-6 6v8'/%3E%3Ccircle cx='11.8' cy='9.5' r='2.8' stroke-width='2'/%3E%3Ccircle cx='19.8' cy='22.8' r='2.8' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}

button#copy {
  background-image: url("data:image/svg+xml,%3Csvg height='48' viewBox='0 0 48 48' width='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h48v48h-48z' fill='none'/%3E%3Cpath d='M32 2h-24c-2.21 0-4 1.79-4 4v28h4v-28h24v-4zm6 8h-22c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h22c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-22v-28h22v28z'/%3E%3C/svg%3E");
  background-position: 6px 6px;
  background-repeat: no-repeat;
  background-size: 26px 26px;
  border-radius: 6px;
  height: 40px;
  width: 40px;
  margin: 10px 5px;
}

button#copy:active {
    box-shadow: inset 0px 0px 5px #6c6c6c;
}

textarea.clipboard-temp {
  position: fixed;
  top: 0;
  left: 0;
  width: 2em;
  height: 2em;
  padding: 0;
  border: None;
  outline: None;
  box-shadow: None;
  background: transparent;
}

.left-most-button {
  border-right: 0;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.middle-button {
  border-right: 0;
}

.right-most-button {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.button-container {
  font-size: 0;
  margin: 10px 10px 10px 0px;
}

.dark .button-container {
  filter: invert(1);
}

.button-container button {
  background-size: 32px 32px;
  background-position: 5px 5px;
  background-repeat: no-repeat;
}

@media print {
  .hideonprint {
    display: none;
  }
}

canvas {
  cursor: crosshair;
}

canvas:active {
  cursor: grabbing;
}

.fileinfo {
  width: 100%;
  max-width: 1000px;
  border: none;
  padding: 5px;
}

.fileinfo .title {
  font-size: 20pt;
  font-weight: bold;
}

.fileinfo td {
  overflow: hidden;
  white-space: nowrap;
  max-width: 1px;
  width: 50%;
  text-overflow: ellipsis;
}

.bom {
  border-collapse: collapse;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 10pt;
  table-layout: fixed;
  width: 100%;
  margin-top: 1px;
}

.bom th, .bom td {
  border: 1px solid black;
  padding: 5px;
  word-wrap: break-word;
  text-align: center;
  position: relative;
}

.dark .bom th, .dark .bom td {
  border: 1px solid #777;
}

.bom th {
  background-color: #CCCCCC;
  background-clip: padding-box;
}

.dark .bom th {
  background-color: #3b4749;
}

.bom tr.highlighted:nth-child(n) {
  background-color: #cfc;
}

.dark .bom tr.highlighted:nth-child(n) {
  background-color: #226022;
}

.bom tr:nth-child(even) {
  background-color: #f2f2f2;
}

.dark .bom tr:nth-child(even) {
  background-color: #313b40;
}

.bom tr.checked {
  color: #aaa;
}

.dark .bom tr.checked {
  color: #666;
}

.bom tr {
  transition: background-color 0.2s;
}

.bom .numCol {
  width: 25px;
}

.bom .Description {
  width: 10%;
}

.bom .Part {
  width: 10%;
}

.bom .Value {
  width: 15%;
}

.bom .Quantity {
  width: 65px;
}

.bom th .sortmark {
  position: absolute;
  right: 1px;
  top: 1px;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #221 transparent;
  transform-origin: 50% 85%;
  transition: opacity 0.2s, transform 0.4s;
}

.dark .bom th .sortmark {
  filter: invert(1);
}

.bom th .sortmark.none {
  opacity: 0;
}

.bom th .sortmark.desc {
  transform: rotate(180deg);
}

.bom th:hover .sortmark.none {
  opacity: 0.5;
}

.bom .bom-checkbox {
  width: 30px;
  position: relative;
  user-select: none;
  -moz-user-select: none;
}

.bom .bom-checkbox:before {
  content: "";
  position: absolute;
  border-width: 15px;
  border-style: solid;
  border-color: #51829f transparent transparent transparent;
  visibility: hidden;
  top: -15px;
}

.bom .bom-checkbox:after {
  content: "Double click to set/unset all";
  position: absolute;
  color: white;
  top: -35px;
  left: -26px;
  background: #51829f;
  padding: 5px 15px;
  border-radius: 8px;
  white-space: nowrap;
  visibility: hidden;
}

.bom .bom-checkbox:hover:before, .bom .bom-checkbox:hover:after {
  visibility: visible;
  transition: visibility 0.2s linear 1s;
}

.split {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: inherit;
}

.split.split-horizontal, .gutter.gutter-horizontal {
  height: 100%;
  float: left;
}

.gutter {
  background-color: #ddd;
  background-repeat: no-repeat;
  background-position: 50%;
  transition: background-color 0.3s;
}

.dark .gutter {
  background-color: #777;
}

.gutter.gutter-horizontal {
  background-image: url('');
  cursor: ew-resize;
  width: 5px;
}

.gutter.gutter-vertical {
  background-image: url('');
  cursor: ns-resize;
  height: 5px;
}

.searchbox {
  float: left;
  height: 40px;
  margin: 10px 5px;
  padding: 12px 32px;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 18px;
  box-sizing: border-box;
  border: 1px solid #888;
  border-radius: 6px;
  outline: none;
  background-color: #eee;
  transition: background-color 0.2s, border 0.2s;
  background-image: url('');
  background-position: 10px 10px;
  background-repeat: no-repeat;
}

.dark .searchbox {
  background-color: #111;
  color: #eee;
}

.searchbox::placeholder {
  color: #ccc;
}

.dark .searchbox::placeholder {
  color: #666;
}

.filter {
  width: calc(60% - 64px);
}

.reflookup {
  width: calc(40% - 10px);
}

input[type=text]:focus {
  background-color: white;
  border: 1px solid #333;
}

.dark input[type=text]:focus {
  background-color: #333;
  border: 1px solid #ccc;
}

mark.highlight {
  background-color: #5050ff;
  color: #fff;
  padding: 2px;
  border-radius: 6px;
}

.dark mark.highlight {
  background-color: #76a6da;
  color: #111;
}

.menubtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 20 20'%3E%3Cpath fill='none' d='M0 0h20v20H0V0z'/%3E%3Cpath d='M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
}

.statsbtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6h28v24H4V6zm0 8h28v8H4m9-16v24h10V5.8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

.iobtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M3 33v-7l6.8-7h16.5l6.7 7v7H3zM3.2 26H33M21 9l5-5.9 5 6h-2.5V15h-5V9H21zm-4.9 0l-5 6-5-6h2.5V3h5v6h2.5z'/%3E%3Cpath fill='none' stroke='%23000' d='M6.1 29.5H10'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

.dark .statsbtn, .dark .savebtn, .dark .menubtn, .dark .iobtn {
  filter: invert(1);
}

.flexbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.savebtn {
  background-color: #d6d6d6;
  width: auto;
  height: 30px;
  flex-grow: 1;
  margin: 5px;
  border-radius: 4px;
}

.savebtn:active {
  background-color: #0a0;
  color: white;
}

.dark .savebtn:active {
  /* This will be inverted */
  background-color: #b3b;
}

.stats {
  border-collapse: collapse;
  font-size: 12pt;
  table-layout: fixed;
  width: 100%;
  min-width: 450px;
}

.dark .stats td {
  border: 1px solid #bbb;
}

.stats td {
  border: 1px solid black;
  padding: 5px;
  word-wrap: break-word;
  text-align: center;
  position: relative;
}

#checkbox-stats div {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#checkbox-stats .bar {
  background-color: rgba(28, 251, 0, 0.6);
}

.menu {
  position: relative;
  display: inline-block;
  margin: 10px 10px 10px 0px;
}

.menu-content {
  display: none;
  position: absolute;
  background-color: white;
  right: 0;
  min-width: 300px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 100;
  padding: 8px;
}

.dark .menu-content {
  background-color: #111;
}

.menu:hover .menu-content {
  display: block;
}

.menu:hover .menubtn, .menu:hover .iobtn, .menu:hover .statsbtn {
  background-color: #eee;
}

.menu-label {
  display: inline-block;
  padding: 8px;
  border: 1px solid #ccc;
  border-top: 0;
  width: calc(100% - 18px);
}

.menu-label-top {
  border-top: 1px solid #ccc;
}

.menu-textbox {
  float: left;
  height: 24px;
  margin: 10px 5px;
  padding: 5px 5px;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 14px;
  box-sizing: border-box;
  border: 1px solid #888;
  border-radius: 4px;
  outline: none;
  background-color: #eee;
  transition: background-color 0.2s, border 0.2s;
  width: calc(100% - 10px);
}

.menu-textbox.invalid, .dark .menu-textbox.invalid {
  color: red;
}

.dark .menu-textbox {
  background-color: #222;
  color: #eee;
}

.radio-container {
  margin: 4px;
}

.topmostdiv {
  width: 100%;
  height: 100%;
  background-color: white;
  transition: background-color 0.3s;
}

#top {
  height: 78px;
  border-bottom: 2px solid black;
}

.dark #top {
  border-bottom: 2px solid #ccc;
}

#dbg {
  display: block;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #aaa;
}

::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.slider {
  -webkit-appearance: none;
  width: 100%;
  margin: 3px 0;
  padding: 0;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
  border-radius: 3px;
}

.slider:hover {
  opacity: 1;
}

.slider:focus {
  outline: none;
}

.slider::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  width: 100%;
  height: 8px;
  background: #d3d3d3;
  border-radius: 3px;
  border: none;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
  margin-top: -4px;
}

.dark .slider::-webkit-slider-thumb {
  background: #3d3;
}

.slider::-moz-range-thumb {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
}

.slider::-moz-range-track {
  height: 8px;
  background: #d3d3d3;
  border-radius: 3px;
}

.dark .slider::-moz-range-thumb {
  background: #3d3;
}

.slider::-ms-track {
  width: 100%;
  height: 8px;
  border-width: 3px 0;
  background: transparent;
  border-color: transparent;
  color: transparent;
  transition: opacity .2s;
}

.slider::-ms-fill-lower {
  background: #d3d3d3;
  border: none;
  border-radius: 3px;
}

.slider::-ms-fill-upper {
  background: #d3d3d3;
  border: none;
  border-radius: 3px;
}

.slider::-ms-thumb {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
  margin: 0;
}

.shameless-plug {
  font-size: 0.8em;
  text-align: center;
  display: block;
}

a {
  color: #0278a4;
}

.dark a {
  color: #00b9fd;
}

#frontcanvas, #backcanvas {
    touch-action: none;
}


  </style>
  <script type="text/javascript" >
///////////////////////////////////////////////
/*
  Split.js - v1.3.5
  MIT License
  https://github.com/nathancahill/Split.js
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Split=t()}(this,function(){"use strict";var e=window,t=e.document,n="addEventListener",i="removeEventListener",r="getBoundingClientRect",s=function(){return!1},o=e.attachEvent&&!e[n],a=["","-webkit-","-moz-","-o-"].filter(function(e){var n=t.createElement("div");return n.style.cssText="width:"+e+"calc(9px)",!!n.style.length}).shift()+"calc",l=function(e){return"string"==typeof e||e instanceof String?t.querySelector(e):e};return function(u,c){function z(e,t,n){var i=A(y,t,n);Object.keys(i).forEach(function(t){return e.style[t]=i[t]})}function h(e,t){var n=B(y,t);Object.keys(n).forEach(function(t){return e.style[t]=n[t]})}function f(e){var t=E[this.a],n=E[this.b],i=t.size+n.size;t.size=e/this.size*i,n.size=i-e/this.size*i,z(t.element,t.size,this.aGutterSize),z(n.element,n.size,this.bGutterSize)}function m(e){var t;this.dragging&&((t="touches"in e?e.touches[0][b]-this.start:e[b]-this.start)<=E[this.a].minSize+M+this.aGutterSize?t=E[this.a].minSize+this.aGutterSize:t>=this.size-(E[this.b].minSize+M+this.bGutterSize)&&(t=this.size-(E[this.b].minSize+this.bGutterSize)),f.call(this,t),c.onDrag&&c.onDrag())}function g(){var e=E[this.a].element,t=E[this.b].element;this.size=e[r]()[y]+t[r]()[y]+this.aGutterSize+this.bGutterSize,this.start=e[r]()[G]}function d(){var t=this,n=E[t.a].element,r=E[t.b].element;t.dragging&&c.onDragEnd&&c.onDragEnd(),t.dragging=!1,e[i]("mouseup",t.stop),e[i]("touchend",t.stop),e[i]("touchcancel",t.stop),t.parent[i]("mousemove",t.move),t.parent[i]("touchmove",t.move),delete t.stop,delete t.move,n[i]("selectstart",s),n[i]("dragstart",s),r[i]("selectstart",s),r[i]("dragstart",s),n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",t.gutter.style.cursor="",t.parent.style.cursor=""}function S(t){var i=this,r=E[i.a].element,o=E[i.b].element;!i.dragging&&c.onDragStart&&c.onDragStart(),t.preventDefault(),i.dragging=!0,i.move=m.bind(i),i.stop=d.bind(i),e[n]("mouseup",i.stop),e[n]("touchend",i.stop),e[n]("touchcancel",i.stop),i.parent[n]("mousemove",i.move),i.parent[n]("touchmove",i.move),r[n]("selectstart",s),r[n]("dragstart",s),o[n]("selectstart",s),o[n]("dragstart",s),r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",o.style.userSelect="none",o.style.webkitUserSelect="none",o.style.MozUserSelect="none",o.style.pointerEvents="none",i.gutter.style.cursor=j,i.parent.style.cursor=j,g.call(i)}function v(e){e.forEach(function(t,n){if(n>0){var i=F[n-1],r=E[i.a],s=E[i.b];r.size=e[n-1],s.size=t,z(r.element,r.size,i.aGutterSize),z(s.element,s.size,i.bGutterSize)}})}function p(){F.forEach(function(e){e.parent.removeChild(e.gutter),E[e.a].element.style[y]="",E[e.b].element.style[y]=""})}void 0===c&&(c={});var y,b,G,E,w=l(u[0]).parentNode,D=e.getComputedStyle(w).flexDirection,U=c.sizes||u.map(function(){return 100/u.length}),k=void 0!==c.minSize?c.minSize:100,x=Array.isArray(k)?k:u.map(function(){return k}),L=void 0!==c.gutterSize?c.gutterSize:10,M=void 0!==c.snapOffset?c.snapOffset:30,O=c.direction||"horizontal",j=c.cursor||("horizontal"===O?"ew-resize":"ns-resize"),C=c.gutter||function(e,n){var i=t.createElement("div");return i.className="gutter gutter-"+n,i},A=c.elementStyle||function(e,t,n){var i={};return"string"==typeof t||t instanceof String?i[e]=t:i[e]=o?t+"%":a+"("+t+"% - "+n+"px)",i},B=c.gutterStyle||function(e,t){return n={},n[e]=t+"px",n;var n};"horizontal"===O?(y="width","clientWidth",b="clientX",G="left","paddingLeft"):"vertical"===O&&(y="height","clientHeight",b="clientY",G="top","paddingTop");var F=[];return E=u.map(function(e,t){var i,s={element:l(e),size:U[t],minSize:x[t]};if(t>0&&(i={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:O,parent:w},i.aGutterSize=L,i.bGutterSize=L,i.isFirst&&(i.aGutterSize=L/2),i.isLast&&(i.bGutterSize=L/2),"row-reverse"===D||"column-reverse"===D)){var a=i.a;i.a=i.b,i.b=a}if(!o&&t>0){var c=C(t,O);h(c,L),c[n]("mousedown",S.bind(i)),c[n]("touchstart",S.bind(i)),w.insertBefore(c,s.element),i.gutter=c}0===t||t===u.length-1?z(s.element,s.size,L/2):z(s.element,s.size,L);var f=s.element[r]()[y];return f<s.minSize&&(s.minSize=f),t>0&&F.push(i),s}),o?{setSizes:v,destroy:p}:{setSizes:v,getSizes:function(){return E.map(function(e){return e.size})},collapse:function(e){if(e===F.length){var t=F[e-1];g.call(t),o||f.call(t,t.size-t.bGutterSize)}else{var n=F[e];g.call(n),o||f.call(n,n.aGutterSize)}},destroy:p}}});

///////////////////////////////////////////////

///////////////////////////////////////////////
// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>
// This work is free. You can redistribute it and/or modify it
// under the terms of the WTFPL, Version 2
// For more information see LICENSE.txt or http://www.wtfpl.net/
//
// For more information, the home page:
// http://pieroxy.net/blog/pages/lz-string/testing.html
//
// LZ-based compression algorithm, version 1.4.4
var LZString=function(){var o=String.fromCharCode,i={};var n={decompressFromBase64:function(o){return null==o?"":""==o?null:n._decompress(o.length,32,function(n){return function(o,n){if(!i[o]){i[o]={};for(var t=0;t<o.length;t++)i[o][o.charAt(t)]=t}return i[o][n]}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o.charAt(n))})},_decompress:function(i,n,t){var r,e,a,s,p,u,l,f=[],c=4,d=4,h=3,v="",g=[],m={val:t(0),position:n,index:1};for(r=0;r<3;r+=1)f[r]=r;for(a=0,p=Math.pow(2,2),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 2:return""}for(f[3]=l,e=l,g.push(l);;){if(m.index>i)return"";for(a=0,p=Math.pow(2,h),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(l=a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 2:return g.join("")}if(0==c&&(c=Math.pow(2,h),h++),f[l])v=f[l];else{if(l!==d)return null;v=e+e.charAt(0)}g.push(v),f[d++]=e+v.charAt(0),e=v,0==--c&&(c=Math.pow(2,h),h++)}}};return n}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString});
///////////////////////////////////////////////

///////////////////////////////////////////////
/*!
 * PEP v0.4.3 | https://github.com/jquery/PEP
 * Copyright jQuery Foundation and other contributors | http://jquery.org/license
 */
!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.PointerEventsPolyfill=b()}(this,function(){"use strict";function a(a,b){b=b||Object.create(null);var c=document.createEvent("Event");c.initEvent(a,b.bubbles||!1,b.cancelable||!1);
for(var d,e=2;e<m.length;e++)d=m[e],c[d]=b[d]||n[e];c.buttons=b.buttons||0;
var f=0;return f=b.pressure&&c.buttons?b.pressure:c.buttons?.5:0,c.x=c.clientX,c.y=c.clientY,c.pointerId=b.pointerId||0,c.width=b.width||0,c.height=b.height||0,c.pressure=f,c.tiltX=b.tiltX||0,c.tiltY=b.tiltY||0,c.twist=b.twist||0,c.tangentialPressure=b.tangentialPressure||0,c.pointerType=b.pointerType||"",c.hwTimestamp=b.hwTimestamp||0,c.isPrimary=b.isPrimary||!1,c}function b(){this.array=[],this.size=0}function c(a,b,c,d){this.addCallback=a.bind(d),this.removeCallback=b.bind(d),this.changedCallback=c.bind(d),A&&(this.observer=new A(this.mutationWatcher.bind(this)))}function d(a){return"body /shadow-deep/ "+e(a)}function e(a){return'[touch-action="'+a+'"]'}function f(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}function g(){if(F){D.forEach(function(a){String(a)===a?(E+=e(a)+f(a)+"\n",G&&(E+=d(a)+f(a)+"\n")):(E+=a.selectors.map(e)+f(a.rule)+"\n",G&&(E+=a.selectors.map(d)+f(a.rule)+"\n"))});var a=document.createElement("style");a.textContent=E,document.head.appendChild(a)}}function h(){if(!window.PointerEvent){if(window.PointerEvent=a,window.navigator.msPointerEnabled){var b=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:b,enumerable:!0}),u.registerSource("ms",_)}else Object.defineProperty(window.navigator,"maxTouchPoints",{value:0,enumerable:!0}),u.registerSource("mouse",N),void 0!==window.ontouchstart&&u.registerSource("touch",V);u.register(document)}}function i(a){if(!u.pointermap.has(a)){var b=new Error("InvalidPointerId");throw b.name="InvalidPointerId",b}}function j(a){for(var b=a.parentNode;b&&b!==a.ownerDocument;)b=b.parentNode;if(!b){var c=new Error("InvalidStateError");throw c.name="InvalidStateError",c}}function k(a){var b=u.pointermap.get(a);return 0!==b.buttons}function l(){window.Element&&!Element.prototype.setPointerCapture&&Object.defineProperties(Element.prototype,{setPointerCapture:{value:W},releasePointerCapture:{value:X},hasPointerCapture:{value:Y}})}
var m=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","pageX","pageY"],n=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0],o=window.Map&&window.Map.prototype.forEach,p=o?Map:b;b.prototype={set:function(a,b){return void 0===b?this["delete"](a):(this.has(a)||this.size++,void(this.array[a]=b))},has:function(a){return void 0!==this.array[a]},"delete":function(a){this.has(a)&&(delete this.array[a],this.size--)},get:function(a){return this.array[a]},clear:function(){this.array.length=0,this.size=0},forEach:function(a,b){return this.array.forEach(function(c,d){a.call(b,c,d,this)},this)}};var q=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","which","pageX","pageY","timeStamp"],r=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0,0,0,0],s={pointerover:1,pointerout:1,pointerenter:1,pointerleave:1},t="undefined"!=typeof SVGElementInstance,u={pointermap:new p,eventMap:Object.create(null),captureInfo:Object.create(null),eventSources:Object.create(null),eventSourceList:[],registerSource:function(a,b){var c=b,d=c.events;d&&(d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c,this.eventSourceList.push(c))},register:function(a){for(var b,c=this.eventSourceList.length,d=0;d<c&&(b=this.eventSourceList[d]);d++)
b.register.call(b,a)},unregister:function(a){for(var b,c=this.eventSourceList.length,d=0;d<c&&(b=this.eventSourceList[d]);d++)
b.unregister.call(b,a)},contains:function(a,b){try{return a.contains(b)}catch(c){return!1}},down:function(a){a.bubbles=!0,this.fireEvent("pointerdown",a)},move:function(a){a.bubbles=!0,this.fireEvent("pointermove",a)},up:function(a){a.bubbles=!0,this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){a.bubbles=!0,this.fireEvent("pointercancel",a)},leaveOut:function(a){this.out(a),this.propagate(a,this.leave,!1)},enterOver:function(a){this.over(a),this.propagate(a,this.enter,!0)},eventHandler:function(a){if(!a._handledByPE){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),a._handledByPE=!0}},listen:function(a,b){b.forEach(function(b){this.addEvent(a,b)},this)},unlisten:function(a,b){b.forEach(function(b){this.removeEvent(a,b)},this)},addEvent:function(a,b){a.addEventListener(b,this.boundHandler)},removeEvent:function(a,b){a.removeEventListener(b,this.boundHandler)},makeEvent:function(b,c){this.captureInfo[c.pointerId]&&(c.relatedTarget=null);var d=new a(b,c);return c.preventDefault&&(d.preventDefault=c.preventDefault),d._target=d._target||c.target,d},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){for(var b,c=Object.create(null),d=0;d<q.length;d++)b=q[d],c[b]=a[b]||r[d],!t||"target"!==b&&"relatedTarget"!==b||c[b]instanceof SVGElementInstance&&(c[b]=c[b].correspondingUseElement);return a.preventDefault&&(c.preventDefault=function(){a.preventDefault()}),c},getTarget:function(a){var b=this.captureInfo[a.pointerId];return b?a._target!==b&&a.type in s?void 0:b:a._target},propagate:function(a,b,c){for(var d=a.target,e=[];d!==document&&!d.contains(a.relatedTarget);) if(e.push(d),d=d.parentNode,!d)return;c&&e.reverse(),e.forEach(function(c){a.target=c,b.call(this,a)},this)},setCapture:function(b,c,d){this.captureInfo[b]&&this.releaseCapture(b,d),this.captureInfo[b]=c,this.implicitRelease=this.releaseCapture.bind(this,b,d),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease);var e=new a("gotpointercapture");e.pointerId=b,e._target=c,d||this.asyncDispatchEvent(e)},releaseCapture:function(b,c){var d=this.captureInfo[b];if(d){this.captureInfo[b]=void 0,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease);var e=new a("lostpointercapture");e.pointerId=b,e._target=d,c||this.asyncDispatchEvent(e)}},dispatchEvent:/*scope.external.dispatchEvent || */function(a){var b=this.getTarget(a);if(b)return b.dispatchEvent(a)},asyncDispatchEvent:function(a){requestAnimationFrame(this.dispatchEvent.bind(this,a))}};u.boundHandler=u.eventHandler.bind(u);var v={shadow:function(a){if(a)return a.shadowRoot||a.webkitShadowRoot},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);if(this.canTarget(b))return b},olderShadow:function(a){var b=a.olderShadowRoot;if(!b){var c=a.querySelector("shadow");c&&(b=c.olderShadowRoot)}return b},allShadows:function(a){for(var b=[],c=this.shadow(a);c;)b.push(c),c=this.olderShadow(c);return b},searchRoot:function(a,b,c){if(a){var d,e,f=a.elementFromPoint(b,c);for(e=this.targetingShadow(f);e;){if(d=e.elementFromPoint(b,c)){var g=this.targetingShadow(d);return this.searchRoot(g,b,c)||d} e=this.olderShadow(e)} return f}},owner:function(a){
for(var b=a;b.parentNode;)b=b.parentNode;
return b.nodeType!==Node.DOCUMENT_NODE&&b.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&(b=document),b},findTarget:function(a){var b=a.clientX,c=a.clientY,d=this.owner(a.target);
return d.elementFromPoint(b,c)||(d=document),this.searchRoot(d,b,c)}},w=Array.prototype.forEach.call.bind(Array.prototype.forEach),x=Array.prototype.map.call.bind(Array.prototype.map),y=Array.prototype.slice.call.bind(Array.prototype.slice),z=Array.prototype.filter.call.bind(Array.prototype.filter),A=window.MutationObserver||window.WebKitMutationObserver,B="[touch-action]",C={subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["touch-action"]};c.prototype={watchSubtree:function(a){
//
this.observer&&v.canTarget(a)&&this.observer.observe(a,C)},enableOnSubtree:function(a){this.watchSubtree(a),a===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(a)},installNewSubtree:function(a){w(this.findElements(a),this.addElement,this)},findElements:function(a){return a.querySelectorAll?a.querySelectorAll(B):[]},removeElement:function(a){this.removeCallback(a)},addElement:function(a){this.addCallback(a)},elementChanged:function(a,b){this.changedCallback(a,b)},concatLists:function(a,b){return a.concat(y(b))},
installOnLoad:function(){document.addEventListener("readystatechange",function(){"complete"===document.readyState&&this.installNewSubtree(document)}.bind(this))},isElement:function(a){return a.nodeType===Node.ELEMENT_NODE},flattenMutationTree:function(a){
var b=x(a,this.findElements,this);
return b.push(z(a,this.isElement)),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){if("childList"===a.type){var b=this.flattenMutationTree(a.addedNodes);b.forEach(this.addElement,this);var c=this.flattenMutationTree(a.removedNodes);c.forEach(this.removeElement,this)}else"attributes"===a.type&&this.elementChanged(a.target,a.oldValue)}};var D=["none","auto","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["pan-x pan-y","pan-y pan-x"]}],E="",F=window.PointerEvent||window.MSPointerEvent,G=!window.ShadowDOMPolyfill&&document.head.createShadowRoot,H=u.pointermap,I=25,J=[1,4,2,8,16],K=!1;try{K=1===new MouseEvent("test",{buttons:1}).buttons}catch(L){}
var M,N={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],register:function(a){u.listen(a,this.events)},unregister:function(a){u.unlisten(a,this.events)},lastTouches:[],
isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;f<g&&(b=c[f]);f++){
var h=Math.abs(d-b.x),i=Math.abs(e-b.y);if(h<=I&&i<=I)return!0}},prepareEvent:function(a){var b=u.cloneEvent(a),c=b.preventDefault;return b.preventDefault=function(){a.preventDefault(),c()},b.pointerId=this.POINTER_ID,b.isPrimary=!0,b.pointerType=this.POINTER_TYPE,b},prepareButtonsForMove:function(a,b){var c=H.get(this.POINTER_ID);
0!==b.which&&c?a.buttons=c.buttons:a.buttons=0,b.buttons=a.buttons},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=H.get(this.POINTER_ID),c=this.prepareEvent(a);K||(c.buttons=J[c.button],b&&(c.buttons|=b.buttons),a.buttons=c.buttons),H.set(this.POINTER_ID,a),b&&0!==b.buttons?u.move(c):u.down(c)}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,H.set(this.POINTER_ID,a),u.move(b)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=H.get(this.POINTER_ID),c=this.prepareEvent(a);if(!K){var d=J[c.button];
c.buttons=b?b.buttons&~d:0,a.buttons=c.buttons}H.set(this.POINTER_ID,a),
c.buttons&=~J[c.button],0===c.buttons?u.up(c):u.move(c)}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,H.set(this.POINTER_ID,a),u.enterOver(b)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,u.leaveOut(b)}},cancel:function(a){var b=this.prepareEvent(a);u.cancel(b),this.deactivateMouse()},deactivateMouse:function(){H["delete"](this.POINTER_ID)}},O=u.captureInfo,P=v.findTarget.bind(v),Q=v.allShadows.bind(v),R=u.pointermap,S=2500,T=200,U="touch-action",V={events:["touchstart","touchmove","touchend","touchcancel"],register:function(a){M.enableOnSubtree(a)},unregister:function(){},elementAdded:function(a){var b=a.getAttribute(U),c=this.touchActionToScrollType(b);c&&(a._scrollType=c,u.listen(a,this.events),
Q(a).forEach(function(a){a._scrollType=c,u.listen(a,this.events)},this))},elementRemoved:function(a){a._scrollType=void 0,u.unlisten(a,this.events),
Q(a).forEach(function(a){a._scrollType=void 0,u.unlisten(a,this.events)},this)},elementChanged:function(a,b){var c=a.getAttribute(U),d=this.touchActionToScrollType(c),e=this.touchActionToScrollType(b);
d&&e?(a._scrollType=d,Q(a).forEach(function(a){a._scrollType=d},this)):e?this.elementRemoved(a):d&&this.elementAdded(a)},scrollTypes:{EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/},touchActionToScrollType:function(a){var b=a,c=this.scrollTypes;return"none"===b?"none":b===c.XSCROLLER?"X":b===c.YSCROLLER?"Y":c.SCROLLER.exec(b)?"XY":void 0},POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){
(0===R.size||1===R.size&&R.has(1))&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1,this.cancelResetClickCount())},removePrimaryPointer:function(a){a.isPrimary&&(this.firstTouch=null,this.firstXY=null,this.resetClickCount())},clickCount:0,resetId:null,resetClickCount:function(){var a=function(){this.clickCount=0,this.resetId=null}.bind(this);this.resetId=setTimeout(a,T)},cancelResetClickCount:function(){this.resetId&&clearTimeout(this.resetId)},typeToButtons:function(a){var b=0;return"touchstart"!==a&&"touchmove"!==a||(b=1),b},touchToPointer:function(a){var b=this.currentTouchEvent,c=u.cloneEvent(a),d=c.pointerId=a.identifier+2;c.target=O[d]||P(c),c.bubbles=!0,c.cancelable=!0,c.detail=this.clickCount,c.button=0,c.buttons=this.typeToButtons(b.type),c.width=2*(a.radiusX||a.webkitRadiusX||0),c.height=2*(a.radiusY||a.webkitRadiusY||0),c.pressure=a.force||a.webkitForce||.5,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,
c.altKey=b.altKey,c.ctrlKey=b.ctrlKey,c.metaKey=b.metaKey,c.shiftKey=b.shiftKey;
var e=this;return c.preventDefault=function(){e.scrolling=!1,e.firstXY=null,b.preventDefault()},c},processTouches:function(a,b){var c=a.changedTouches;this.currentTouchEvent=a;for(var d,e=0;e<c.length;e++)d=c[e],b.call(this,this.touchToPointer(d))},
shouldScroll:function(a){if(this.firstXY){var b,c=a.currentTarget._scrollType;if("none"===c)
b=!1;else if("XY"===c)
b=!0;else{var d=a.changedTouches[0],e=c,f="Y"===c?"X":"Y",g=Math.abs(d["client"+e]-this.firstXY[e]),h=Math.abs(d["client"+f]-this.firstXY[f]);
b=g>=h}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;d<e&&(c=a[d]);d++)if(c.identifier===b)return!0},
vacuumTouches:function(a){var b=a.touches;
if(R.size>=b.length){var c=[];R.forEach(function(a,d){
if(1!==d&&!this.findTouch(b,d-2)){var e=a.out;c.push(e)}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||(this.clickCount++,this.processTouches(a,this.overDown))},overDown:function(a){R.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),u.enterOver(a),u.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var b=a,c=R.get(b.pointerId);
if(c){var d=c.out,e=c.outTarget;u.move(b),d&&e!==b.target&&(d.relatedTarget=b.target,b.relatedTarget=e,
d.target=e,b.target?(u.leaveOut(d),u.enterOver(b)):(
b.target=e,b.relatedTarget=null,this.cancelOut(b))),c.out=b,c.outTarget=b.target}},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(u.up(a),u.leaveOut(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){u.cancel(a),u.leaveOut(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){R["delete"](a.pointerId),this.removePrimaryPointer(a)},
dedupSynthMouse:function(a){var b=N.lastTouches,c=a.changedTouches[0];
if(this.isPrimaryTouch(c)){
var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,S)}}};M=new c(V.elementAdded,V.elementRemoved,V.elementChanged,V);var W,X,Y,Z=u.pointermap,$=window.MSPointerEvent&&"number"==typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE,_={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],register:function(a){u.listen(a,this.events)},unregister:function(a){u.unlisten(a,this.events)},POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var b=a;return $&&(b=u.cloneEvent(a),b.pointerType=this.POINTER_TYPES[a.pointerType]),b},cleanup:function(a){Z["delete"](a)},MSPointerDown:function(a){Z.set(a.pointerId,a);var b=this.prepareEvent(a);u.down(b)},MSPointerMove:function(a){var b=this.prepareEvent(a);u.move(b)},MSPointerUp:function(a){var b=this.prepareEvent(a);u.up(b),this.cleanup(a.pointerId)},MSPointerOut:function(a){var b=this.prepareEvent(a);u.leaveOut(b)},MSPointerOver:function(a){var b=this.prepareEvent(a);u.enterOver(b)},MSPointerCancel:function(a){var b=this.prepareEvent(a);u.cancel(b),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var b=u.makeEvent("lostpointercapture",a);u.dispatchEvent(b)},MSGotPointerCapture:function(a){var b=u.makeEvent("gotpointercapture",a);u.dispatchEvent(b)}},aa=window.navigator;aa.msPointerEnabled?(W=function(a){i(a),j(this),k(a)&&(u.setCapture(a,this,!0),this.msSetPointerCapture(a))},X=function(a){i(a),u.releaseCapture(a,!0),this.msReleasePointerCapture(a)}):(W=function(a){i(a),j(this),k(a)&&u.setCapture(a,this)},X=function(a){i(a),u.releaseCapture(a)}),Y=function(a){return!!u.captureInfo[a]},g(),h(),l();var ba={dispatcher:u,Installer:c,PointerEvent:a,PointerMap:p,targetFinding:v};return ba});

///////////////////////////////////////////////

///////////////////////////////////////////////
var config = {"redraw_on_drag":true,"bom_view":"left-right","layer_view":"FB","show_silkscreen":true,"checkboxes":"Sourced,Placed","dark_mode":0,"highlight_pin1":0,"show_pads":true,"show_fabrication":0,"extra_fields":[],"board_rotation":0}
///////////////////////////////////////////////

///////////////////////////////////////////////
var pcbdata = JSON.parse(LZString.decompressFromBase64("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"))
///////////////////////////////////////////////

///////////////////////////////////////////////
/* Utility functions */

var storagePrefix = 'KiCad_HTML_BOM__' + pcbdata.metadata.title + '__' +
  pcbdata.metadata.revision + '__#';
var storage;

function initStorage(key) {
  try {
    window.localStorage.getItem("blank");
    storage = window.localStorage;
  } catch (e) {
    // localStorage not available
  }
  if (!storage) {
    try {
      window.sessionStorage.getItem("blank");
      storage = window.sessionStorage;
    } catch (e) {
      // sessionStorage also not available
    }
  }
}

function readStorage(key) {
  if (storage) {
    return storage.getItem(storagePrefix + key);
  } else {
    return null;
  }
}

function writeStorage(key, value) {
  if (storage) {
    storage.setItem(storagePrefix + key, value);
  }
}

function fancyDblClickHandler(el, onsingle, ondouble) {
  return function() {
    if (el.getAttribute("data-dblclick") == null) {
      el.setAttribute("data-dblclick", 1);
      setTimeout(function() {
        if (el.getAttribute("data-dblclick") == 1) {
          onsingle();
        }
        el.removeAttribute("data-dblclick");
      }, 200);
    } else {
      el.removeAttribute("data-dblclick");
      ondouble();
    }
  }
}

function smoothScrollToRow(rowid) {
  document.getElementById(rowid).scrollIntoView({
    behavior: "smooth",
    block: "center",
    inline: "nearest"
  });
}

function focusInputField(input) {
  input.scrollIntoView(false);
  input.focus();
  input.select();
}

function copyToClipboard() {
  var text = '';
  for (var node of bomhead.childNodes[0].childNodes) {
    if (node.firstChild) {
      text = text + node.firstChild.nodeValue;
    }
    if (node != bomhead.childNodes[0].lastChild) {
      text += '\t';
    }
  }
  text += '\n';
  for (var row of bombody.childNodes) {
    for (var cell of row.childNodes) {
      for (var node of cell.childNodes) {
        if (node.nodeName == "INPUT") {
          if (node.checked) {
            text = text + '✓';
          }
        } else if (node.nodeName == "MARK") {
          text = text + node.firstChild.nodeValue;
        } else {
          text = text + node.nodeValue;
        }
      }
      if (cell != row.lastChild) {
        text += '\t';
      }
    }
    text += '\n';
  }
  var textArea = document.createElement("textarea");
  textArea.classList.add('clipboard-temp');
  textArea.value = text;

  document.body.appendChild(textArea);
  textArea.focus();
  textArea.select();

  try {
    if (document.execCommand('copy')) {
      console.log('Bom copied to clipboard.');
    }
  } catch (err) {
    console.log('Can not copy to clipboard.');
  }

  document.body.removeChild(textArea);
}

function removeGutterNode(node) {
  for (var i = 0; i < node.childNodes.length; i++) {
    if (node.childNodes[i].classList &&
      node.childNodes[i].classList.contains("gutter")) {
      node.removeChild(node.childNodes[i]);
      break;
    }
  }
}

function cleanGutters() {
  removeGutterNode(document.getElementById("bot"));
  removeGutterNode(document.getElementById("canvasdiv"));
}

var units = {
  prefixes: {
    giga: ["G", "g", "giga", "Giga", "GIGA"],
    mega: ["M", "mega", "Mega", "MEGA"],
    kilo: ["K", "k", "kilo", "Kilo", "KILO"],
    milli: ["m", "milli", "Milli", "MILLI"],
    micro: ["U", "u", "micro", "Micro", "MICRO", "μ", "µ"], // different utf8 μ
    nano: ["N", "n", "nano", "Nano", "NANO"],
    pico: ["P", "p", "pico", "Pico", "PICO"],
  },
  unitsShort: ["R", "r", "Ω", "F", "f", "H", "h"],
  unitsLong: [
    "OHM", "Ohm", "ohm", "ohms",
    "FARAD", "Farad", "farad",
    "HENRY", "Henry", "henry"
  ],
  getMultiplier: function(s) {
    if (this.prefixes.giga.includes(s)) return 1e9;
    if (this.prefixes.mega.includes(s)) return 1e6;
    if (this.prefixes.kilo.includes(s)) return 1e3;
    if (this.prefixes.milli.includes(s)) return 1e-3;
    if (this.prefixes.micro.includes(s)) return 1e-6;
    if (this.prefixes.nano.includes(s)) return 1e-9;
    if (this.prefixes.pico.includes(s)) return 1e-12;
    return 1;
  },
  valueRegex: null,
}

function initUtils() {
  var allPrefixes = units.prefixes.giga
                    .concat(units.prefixes.mega)
                    .concat(units.prefixes.kilo)
                    .concat(units.prefixes.milli)
                    .concat(units.prefixes.micro)
                    .concat(units.prefixes.nano)
                    .concat(units.prefixes.pico);
  var allUnits = units.unitsShort.concat(units.unitsLong);
  units.valueRegex = new RegExp("^([0-9\.]+)" +
                         "\\s*(" + allPrefixes.join("|") + ")?" +
                         "(" + allUnits.join("|") + ")?" +
                         "(\\b.*)?$", "");
  units.valueAltRegex = new RegExp("^([0-9]*)" +
                         "(" + units.unitsShort.join("|") + ")?" +
                         "([GgMmKkUuNnPp])?" +
                         "([0-9]*)" +
                         "(\\b.*)?$", "");
  for (var bom_type of ["both", "F", "B"]) {
    for (var row of pcbdata.bom[bom_type]) {
      row.push(parseValue(row[1], row[3][0][0]));
    }
  }
}

function parseValue(val, ref) {
  var inferUnit = (unit, ref) => {
    if (unit) {
      unit = unit.toLowerCase();
      if (unit == 'Ω' || unit == "ohm" || unit == "ohms") {
        unit = 'r';
      }
      unit = unit[0];
    } else {
      ref = /^([a-z]+)\d+$/i.exec(ref);
      if (ref) {
        ref = ref[1].toLowerCase();
        if (ref == "c") unit = 'f';
        else if (ref == "l") unit = 'h';
        else if (ref == "r" || ref == "rv") unit = 'r';
        else unit = null;
      }
    }
    return unit;
  };
  val = val.replace(/,/g, "");
  var match = units.valueRegex.exec(val);
  var unit;
  if (match) {
    val = parseFloat(match[1]);
    if (match[2]) {
      val = val * units.getMultiplier(match[2]);
    }
    unit = inferUnit(match[3], ref);
    if (!unit) return null;
    else return {
      val: val,
      unit: unit,
      extra: match[4],
    }
  }
  match = units.valueAltRegex.exec(val);
  if (match && (match[1] || match[4])) {
    val = parseFloat(match[1] + "." + match[4]);
    if (match[3]) {
      val = val * units.getMultiplier(match[3]);
    }
    unit = inferUnit(match[2], ref);
    if (!unit) return null;
    else return {
      val: val,
      unit: unit,
      extra: match[5],
    }
  }
  return null;
}

function valueCompare(a, b, stra, strb) {
  if (a === null && b === null) {
    // Failed to parse both values, compare them as strings.
    if (stra != strb) return stra > strb ? 1 : -1;
    else return 0;
  } else if (a === null) {
    return 1;
  } else if (b === null) {
    return -1;
  } else {
    if (a.unit != b.unit) return a.unit > b.unit ? 1 : -1;
    else if (a.val != b.val) return a.val > b.val ? 1 : -1;
    else if (a.extra != b.extra) return a.extra > b.extra ? 1 : -1;
    else return 0;
  }
}

function validateSaveImgDimension(element) {
  var valid = false;
  var intValue = 0;
  if (/^[1-9]\d*$/.test(element.value)) {
    intValue = parseInt(element.value);
    if (intValue <= 16000) {
      valid = true;
    }
  }
  if (valid) {
    element.classList.remove("invalid");
  } else {
    element.classList.add("invalid");
  }
  return intValue;
}

function saveImage(layer) {
  var width = validateSaveImgDimension(document.getElementById("render-save-width"));
  var height = validateSaveImgDimension(document.getElementById("render-save-height"));
  var bgcolor = null;
  if (!document.getElementById("render-save-transparent").checked) {
    var style = getComputedStyle(topmostdiv);
    bgcolor = style.getPropertyValue("background-color");
  }
  if (!width || !height) return;

  // Prepare image
  var canvas = document.createElement("canvas");
  var layerdict = {
    transform: {
      x: 0,
      y: 0,
      s: 1,
      panx: 0,
      pany: 0,
      zoom: 1,
    },
    bg: canvas,
    fab: canvas,
    silk: canvas,
    highlight: canvas,
    layer: layer,
  }
  // Do the rendering
  recalcLayerScale(layerdict, width, height);
  prepareLayer(layerdict);
  clearCanvas(canvas, bgcolor);
  drawBackground(layerdict, false);
  drawHighlightsOnLayer(layerdict, false);

  // Save image
  var imgdata = canvas.toDataURL("image/png");

  var filename = pcbdata.metadata.title;
  if (pcbdata.metadata.revision) {
    filename += `.${pcbdata.metadata.revision}`;
  }
  filename += `.${layer}.png`;
  saveFile(filename, dataURLtoBlob(imgdata));
}

function saveSettings() {
  var data = {
    type: "InteractiveHtmlBom settings",
    version: 1,
    pcbmetadata: pcbdata.metadata,
    settings: settings,
  }
  var blob = new Blob([JSON.stringify(data, null, 4)], {type: "application/json"});
  saveFile(`${pcbdata.metadata.title}.settings.json`, blob);
}

function loadSettings() {
  var input = document.createElement("input");
  input.type = "file";
  input.accept = ".settings.json";
  input.onchange = function(e) {
    var file = e.target.files[0];
    var reader = new FileReader();
    reader.onload = readerEvent => {
      var content = readerEvent.target.result;
      var newSettings;
      try {
        newSettings = JSON.parse(content);
      } catch(e) {
        alert("Selected file is not InteractiveHtmlBom settings file.");
        return;
      }
      if (newSettings.type != "InteractiveHtmlBom settings") {
        alert("Selected file is not InteractiveHtmlBom settings file.");
        return;
      }
      var metadataMatches = newSettings.hasOwnProperty("pcbmetadata");
      if (metadataMatches) {
        for (var k in pcbdata.metadata) {
          if (!newSettings.pcbmetadata.hasOwnProperty(k) || newSettings.pcbmetadata[k] != pcbdata.metadata[k]) {
            metadataMatches = false;
          }
        }
      }
      if (!metadataMatches) {
        var currentMetadata = JSON.stringify(pcbdata.metadata, null, 4);
        var fileMetadata = JSON.stringify(newSettings.pcbmetadata, null, 4);
        if (!confirm(
          `Settins file metadata does not match current metadata.\n\n` +
          `Page metadata:\n${currentMetadata}\n\n` +
          `Settings file metadata:\n${fileMetadata}\n\n` +
          `Press OK if you would like to import settings anyway.`)) {
          return;
        }
      }
      overwriteSettings(newSettings.settings);
    }
    reader.readAsText(file, 'UTF-8');
  }
  input.click();
}

function overwriteSettings(newSettings) {
  initDone = false;
  Object.assign(settings, newSettings);
  writeStorage("bomlayout", settings.bomlayout);
  writeStorage("bommode", settings.bommode);
  writeStorage("canvaslayout", settings.canvaslayout);
  writeStorage("bomCheckboxes", settings.checkboxes.join(","));
  document.getElementById("bomCheckboxes").value = settings.checkboxes.join(",");
  for (var checkbox of settings.checkboxes) {
    writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
  }
  writeStorage("darkenWhenChecked", settings.darkenWhenChecked);
  padsVisible(settings.renderPads);
  document.getElementById("padsCheckbox").checked = settings.renderPads;
  fabricationVisible(settings.renderFabrication);
  document.getElementById("fabricationCheckbox").checked = settings.renderFabrication;
  silkscreenVisible(settings.renderSilkscreen);
  document.getElementById("silkscreenCheckbox").checked = settings.renderSilkscreen;
  referencesVisible(settings.renderReferences);
  document.getElementById("referencesCheckbox").checked = settings.renderReferences;
  valuesVisible(settings.renderValues);
  document.getElementById("valuesCheckbox").checked = settings.renderValues;
  tracksVisible(settings.renderTracks);
  document.getElementById("tracksCheckbox").checked = settings.renderTracks;
  zonesVisible(settings.renderZones);
  document.getElementById("zonesCheckbox").checked = settings.renderZones;
  dnpOutline(settings.renderDnpOutline);
  document.getElementById("dnpOutlineCheckbox").checked = settings.renderDnpOutline;
  setRedrawOnDrag(settings.redrawOnDrag);
  document.getElementById("dragCheckbox").checked = settings.redrawOnDrag;
  setDarkMode(settings.darkMode);
  document.getElementById("darkmodeCheckbox").checked = settings.darkMode;
  setHighlightPin1(settings.highlightpin1);
  document.getElementById("highlightpin1Checkbox").checked = settings.highlightpin1;
  writeStorage("boardRotation", settings.boardRotation);
  document.getElementById("boardRotation").value = settings.boardRotation / 5;
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
  initDone = true;
  prepCheckboxes();
  changeBomLayout(settings.bomlayout);
}

function saveFile(filename, blob) {
  var link = document.createElement("a");
  var objurl = URL.createObjectURL(blob);
  link.download = filename;
  link.href = objurl;
  link.click();
}

function dataURLtoBlob(dataurl) {
  var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
      bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
  while(n--){
      u8arr[n] = bstr.charCodeAt(n);
  }
  return new Blob([u8arr], {type:mime});
}

var settings = {
  canvaslayout: "default",
  bomlayout: "default",
  bommode: "grouped",
  checkboxes: [],
  checkboxStoredRefs: {},
  darkMode: false,
  highlightpin1: false,
  redrawOnDrag: true,
  boardRotation: 0,
  renderPads: true,
  renderReferences: true,
  renderValues: true,
  renderSilkscreen: true,
  renderFabrication: true,
  renderDnpOutline: false,
  renderTracks: true,
  renderZones: true,
}

function initDefaults() {
  settings.bomlayout = readStorage("bomlayout");
  if (settings.bomlayout === null) {
    settings.bomlayout = config.bom_view;
  }
  if (!['bom-only', 'left-right', 'top-bottom'].includes(settings.bomlayout)) {
    settings.bomlayout = config.bom_view;
  }
  settings.bommode = readStorage("bommode");
  if (settings.bommode === null) {
    settings.bommode = "grouped";
  }
  if (!["grouped", "ungrouped", "netlist"].includes(settings.bommode)) {
    settings.bommode = "grouped";
  }
  settings.canvaslayout = readStorage("canvaslayout");
  if (settings.canvaslayout === null) {
    settings.canvaslayout = config.layer_view;
  }
  var bomCheckboxes = readStorage("bomCheckboxes");
  if (bomCheckboxes === null) {
    bomCheckboxes = config.checkboxes;
  }
  settings.checkboxes = bomCheckboxes.split(",").filter((e) => e);
  document.getElementById("bomCheckboxes").value = bomCheckboxes;

  settings.darkenWhenChecked = readStorage("darkenWhenChecked") || "";
  populateDarkenWhenCheckedOptions();

  function initBooleanSetting(storageString, def, elementId, func) {
    var b = readStorage(storageString);
    if (b === null) {
      b = def;
    } else {
      b = (b == "true");
    }
    document.getElementById(elementId).checked = b;
    func(b);
  }

  initBooleanSetting("padsVisible", config.show_pads, "padsCheckbox", padsVisible);
  initBooleanSetting("fabricationVisible", config.show_fabrication, "fabricationCheckbox", fabricationVisible);
  initBooleanSetting("silkscreenVisible", config.show_silkscreen, "silkscreenCheckbox", silkscreenVisible);
  initBooleanSetting("referencesVisible", true, "referencesCheckbox", referencesVisible);
  initBooleanSetting("valuesVisible", true, "valuesCheckbox", valuesVisible);
  if ("tracks" in pcbdata) {
    initBooleanSetting("tracksVisible", true, "tracksCheckbox", tracksVisible);
    initBooleanSetting("zonesVisible", true, "zonesCheckbox", zonesVisible);
  } else {
    document.getElementById("tracksAndZonesCheckboxes").style.display = "none";
    tracksVisible(false);
    zonesVisible(false);
  }
  initBooleanSetting("dnpOutline", false, "dnpOutlineCheckbox", dnpOutline);
  initBooleanSetting("redrawOnDrag", config.redraw_on_drag, "dragCheckbox", setRedrawOnDrag);
  initBooleanSetting("darkmode", config.dark_mode, "darkmodeCheckbox", setDarkMode);
  initBooleanSetting("highlightpin1", config.highlight_pin1, "highlightpin1Checkbox", setHighlightPin1);
  settings.boardRotation = readStorage("boardRotation");
  if (settings.boardRotation === null) {
    settings.boardRotation = config.board_rotation * 5;
  } else {
    settings.boardRotation = parseInt(settings.boardRotation);
  }
  document.getElementById("boardRotation").value = settings.boardRotation / 5;
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
}

// Helper classes for user js callbacks.

const IBOM_EVENT_TYPES = {
  ALL: "all",
  HIGHLIGHT_EVENT: "highlightEvent",
  CHECKBOX_CHANGE_EVENT: "checkboxChangeEvent",
  BOM_BODY_CHANGE_EVENT: "bomBodyChangeEvent",
}

const EventHandler = {
  callbacks: {},
  init: function() {
    for (eventType of Object.values(IBOM_EVENT_TYPES))
      this.callbacks[eventType] = [];
  },
  registerCallback: function(eventType, callback) {
    this.callbacks[eventType].push(callback);
  },
  emitEvent: function(eventType, eventArgs) {
    event = {
      eventType: eventType,
      args: eventArgs,
    }
    var callback;
    for(callback of this.callbacks[eventType])
      callback(event);
    for(callback of this.callbacks[IBOM_EVENT_TYPES.ALL])
      callback(event);
  }
}
EventHandler.init();

///////////////////////////////////////////////

///////////////////////////////////////////////
/* PCB rendering code */

var emptyContext2d = document.createElement("canvas").getContext("2d");

function deg2rad(deg) {
  return deg * Math.PI / 180;
}

function calcFontPoint(linepoint, text, offsetx, offsety, tilt) {
  var point = [
    linepoint[0] * text.width + offsetx,
    linepoint[1] * text.height + offsety
  ];
  // This approximates pcbnew behavior with how text tilts depending on horizontal justification
  point[0] -= (linepoint[1] + 0.5 * (1 + text.justify[0])) * text.height * tilt;
  return point;
}

function drawText(ctx, text, color) {
  if ("ref" in text && !settings.renderReferences) return;
  if ("val" in text && !settings.renderValues) return;
  ctx.save();
  ctx.fillStyle = color;
  ctx.strokeStyle = color;
  ctx.lineCap = "round";
  ctx.lineJoin = "round";
  ctx.lineWidth = text.thickness;
  if ("svgpath" in text) {
    ctx.stroke(new Path2D(text.svgpath));
    ctx.restore();
    return;
  }
  ctx.translate(...text.pos);
  ctx.translate(text.thickness * 0.5, 0);
  var angle = -text.angle;
  if (text.attr.includes("mirrored")) {
    ctx.scale(-1, 1);
    angle = -angle;
  }
  var tilt = 0;
  if (text.attr.includes("italic")) {
    tilt = 0.125;
  }
  var interline = text.height * 1.5 + text.thickness;
  var txt = text.text.split("\n");
  // KiCad ignores last empty line.
  if (txt[txt.length - 1] == '') txt.pop();
  ctx.rotate(deg2rad(angle));
  var offsety = (1 - text.justify[1]) / 2 * text.height; // One line offset
  offsety -= (txt.length - 1) * (text.justify[1] + 1) / 2 * interline; // Multiline offset
  for (var i in txt) {
    var lineWidth = text.thickness + interline / 2 * tilt;
    for (var j = 0; j < txt[i].length; j++) {
      if (txt[i][j] == '\t') {
        var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
        lineWidth += fourSpaces - lineWidth % fourSpaces;
      } else {
        if (txt[i][j] == '~') {
          j++;
          if (j == txt[i].length)
            break;
        }
        lineWidth += pcbdata.font_data[txt[i][j]].w * text.width;
      }
    }
    var offsetx = -lineWidth * (text.justify[0] + 1) / 2;
    var inOverbar = false;
    for (var j = 0; j < txt[i].length; j++) {
      if (txt[i][j] == '\t') {
        var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
        offsetx += fourSpaces - offsetx % fourSpaces;
        continue;
      } else if (txt[i][j] == '~') {
        j++;
        if (j == txt[i].length)
          break;
        if (txt[i][j] != '~') {
          inOverbar = !inOverbar;
        }
      }
      var glyph = pcbdata.font_data[txt[i][j]];
      if (inOverbar) {
        var overbarStart = [offsetx, -text.height * 1.4 + offsety];
        var overbarEnd = [offsetx + text.width * glyph.w, overbarStart[1]];

        if (!lastHadOverbar) {
          overbarStart[0] += text.height * 1.4 * tilt;
          lastHadOverbar = true;
        }
        ctx.beginPath();
        ctx.moveTo(...overbarStart);
        ctx.lineTo(...overbarEnd);
        ctx.stroke();
      } else {
        lastHadOverbar = false;
      }
      for (var line of glyph.l) {
        ctx.beginPath();
        ctx.moveTo(...calcFontPoint(line[0], text, offsetx, offsety, tilt));
        for (var k = 1; k < line.length; k++) {
          ctx.lineTo(...calcFontPoint(line[k], text, offsetx, offsety, tilt));
        }
        ctx.stroke();
      }
      offsetx += glyph.w * text.width;
    }
    offsety += interline;
  }
  ctx.restore();
}

function drawedge(ctx, scalefactor, edge, color) {
  ctx.strokeStyle = color;
  ctx.lineWidth = Math.max(1 / scalefactor, edge.width);
  ctx.lineCap = "round";
  if ("svgpath" in edge) {
    ctx.stroke(new Path2D(edge.svgpath));
  } else {
    ctx.beginPath();
    if (edge.type == "segment") {
      ctx.moveTo(...edge.start);
      ctx.lineTo(...edge.end);
    }
    if (edge.type == "rect") {
      ctx.moveTo(...edge.start);
      ctx.lineTo(edge.start[0], edge.end[1]);
      ctx.lineTo(...edge.end);
      ctx.lineTo(edge.end[0], edge.start[1]);
      ctx.lineTo(...edge.start);
    }
    if (edge.type == "arc") {
      ctx.arc(
        ...edge.start,
        edge.radius,
        deg2rad(edge.startangle),
        deg2rad(edge.endangle));
    }
    if (edge.type == "circle") {
      ctx.arc(
        ...edge.start,
        edge.radius,
        0, 2 * Math.PI);
      ctx.closePath();
    }
    if (edge.type == "curve") {
      ctx.moveTo(...edge.start);
      ctx.bezierCurveTo(...edge.cpa, ...edge.cpb, ...edge.end);
    }
    ctx.stroke();
  }
}

function getChamferedRectPath(size, radius, chamfpos, chamfratio) {
  // chamfpos is a bitmask, left = 1, right = 2, bottom left = 4, bottom right = 8
  var path = new Path2D();
  var width = size[0];
  var height = size[1];
  var x = width * -0.5;
  var y = height * -0.5;
  var chamfOffset = Math.min(width, height) * chamfratio;
  path.moveTo(x, 0);
  if (chamfpos & 4) {
    path.lineTo(x, y + height - chamfOffset);
    path.lineTo(x + chamfOffset, y + height);
    path.lineTo(0, y + height);
  } else {
    path.arcTo(x, y + height, x + width, y + height, radius);
  }
  if (chamfpos & 8) {
    path.lineTo(x + width - chamfOffset, y + height);
    path.lineTo(x + width, y + height - chamfOffset);
    path.lineTo(x + width, 0);
  } else {
    path.arcTo(x + width, y + height, x + width, y, radius);
  }
  if (chamfpos & 2) {
    path.lineTo(x + width, y + chamfOffset);
    path.lineTo(x + width - chamfOffset, y);
    path.lineTo(0, y);
  } else {
    path.arcTo(x + width, y, x, y, radius);
  }
  if (chamfpos & 1) {
    path.lineTo(x + chamfOffset, y);
    path.lineTo(x, y + chamfOffset);
    path.lineTo(x, 0);
  } else {
    path.arcTo(x, y, x, y + height, radius);
  }
  path.closePath();
  return path;
}

function getOblongPath(size) {
  return getChamferedRectPath(size, Math.min(size[0], size[1]) / 2, 0, 0);
}

function getPolygonsPath(shape) {
  if (shape.path2d) {
    return shape.path2d;
  }
  if ("svgpath" in shape) {
    shape.path2d = new Path2D(shape.svgpath);
  } else {
    var path = new Path2D();
    for (var polygon of shape.polygons) {
      path.moveTo(...polygon[0]);
      for (var i = 1; i < polygon.length; i++) {
        path.lineTo(...polygon[i]);
      }
      path.closePath();
    }
    shape.path2d = path;
  }
  return shape.path2d;
}

function drawPolygonShape(ctx, shape, color) {
  ctx.save();
  ctx.fillStyle = color;
  if (!("svgpath" in shape)) {
    ctx.translate(...shape.pos);
    ctx.rotate(deg2rad(-shape.angle));
  }
  ctx.fill(getPolygonsPath(shape));
  ctx.restore();
}

function drawDrawing(ctx, scalefactor, drawing, color) {
  if (["segment", "arc", "circle", "curve"].includes(drawing.type)) {
    drawedge(ctx, scalefactor, drawing, color);
  } else if (drawing.type == "polygon") {
    drawPolygonShape(ctx, drawing, color);
  } else {
    drawText(ctx, drawing, color);
  }
}

function getCirclePath(radius) {
  var path = new Path2D();
  path.arc(0, 0, radius, 0, 2 * Math.PI);
  path.closePath();
  return path;
}

function getCachedPadPath(pad) {
  if (!pad.path2d) {
    // if path2d is not set, build one and cache it on pad object
    if (pad.shape == "rect") {
      pad.path2d = new Path2D();
      pad.path2d.rect(...pad.size.map(c => -c * 0.5), ...pad.size);
    } else if (pad.shape == "oval") {
      pad.path2d = getOblongPath(pad.size);
    } else if (pad.shape == "circle") {
      pad.path2d = getCirclePath(pad.size[0] / 2);
    } else if (pad.shape == "roundrect") {
      pad.path2d = getChamferedRectPath(pad.size, pad.radius, 0, 0);
    } else if (pad.shape == "chamfrect") {
      pad.path2d = getChamferedRectPath(pad.size, pad.radius, pad.chamfpos, pad.chamfratio)
    } else if (pad.shape == "custom") {
      pad.path2d = getPolygonsPath(pad);
    }
  }
  return pad.path2d;
}

function drawPad(ctx, pad, color, outline) {
  ctx.save();
  ctx.translate(...pad.pos);
  ctx.rotate(deg2rad(pad.angle));
  if (pad.offset) {
    ctx.translate(...pad.offset);
  }
  ctx.fillStyle = color;
  ctx.strokeStyle = color;
  var path = getCachedPadPath(pad);
  if (outline) {
    ctx.stroke(path);
  } else {
    ctx.fill(path);
  }
  ctx.restore();
}

function drawPadHole(ctx, pad, padHoleColor) {
  if (pad.type != "th") return;
  ctx.save();
  ctx.translate(...pad.pos);
  ctx.rotate(deg2rad(pad.angle));
  ctx.fillStyle = padHoleColor;
  if (pad.drillshape == "oblong") {
    ctx.fill(getOblongPath(pad.drillsize));
  } else {
    ctx.fill(getCirclePath(pad.drillsize[0] / 2));
  }
  ctx.restore();
}

function drawFootprint(ctx, layer, scalefactor, footprint, padColor, padHoleColor, outlineColor, highlight, outline) {
  if (highlight) {
    // draw bounding box
    if (footprint.layer == layer) {
      ctx.save();
      ctx.globalAlpha = 0.2;
      ctx.translate(...footprint.bbox.pos);
      ctx.rotate(deg2rad(-footprint.bbox.angle));
      ctx.translate(...footprint.bbox.relpos);
      ctx.fillStyle = padColor;
      ctx.fillRect(0, 0, ...footprint.bbox.size);
      ctx.globalAlpha = 1;
      ctx.strokeStyle = padColor;
      ctx.strokeRect(0, 0, ...footprint.bbox.size);
      ctx.restore();
    }
  }
  // draw drawings
  for (var drawing of footprint.drawings) {
    if (drawing.layer == layer) {
      drawDrawing(ctx, scalefactor, drawing.drawing, padColor);
    }
  }
  // draw pads
  if (settings.renderPads) {
    for (var pad of footprint.pads) {
      if (pad.layers.includes(layer)) {
        drawPad(ctx, pad, padColor, outline);
        if (pad.pin1 && settings.highlightpin1) {
          drawPad(ctx, pad, outlineColor, true);
        }
      }
    }
    for (var pad of footprint.pads) {
      drawPadHole(ctx, pad, padHoleColor);
    }
  }
}

function drawEdgeCuts(canvas, scalefactor) {
  var ctx = canvas.getContext("2d");
  var edgecolor = getComputedStyle(topmostdiv).getPropertyValue('--pcb-edge-color');
  for (var edge of pcbdata.edges) {
    drawedge(ctx, scalefactor, edge, edgecolor);
  }
}

function drawFootprints(canvas, layer, scalefactor, highlight) {
  var ctx = canvas.getContext("2d");
  ctx.lineWidth = 3 / scalefactor;
  var style = getComputedStyle(topmostdiv);
  var padColor = style.getPropertyValue('--pad-color');
  var padHoleColor = style.getPropertyValue('--pad-hole-color');
  var outlineColor = style.getPropertyValue('--pin1-outline-color');
  if (highlight) {
    padColor = style.getPropertyValue('--pad-color-highlight');
    outlineColor = style.getPropertyValue('--pin1-outline-color-highlight');
  }
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    var mod = pcbdata.footprints[i];
    var outline = settings.renderDnpOutline && pcbdata.bom.skipped.includes(i);
    if (!highlight || highlightedFootprints.includes(i)) {
      drawFootprint(ctx, layer, scalefactor, mod, padColor, padHoleColor, outlineColor, highlight, outline);
    }
  }
}

function drawBgLayer(layername, canvas, layer, scalefactor, edgeColor, polygonColor, textColor) {
  var ctx = canvas.getContext("2d");
  for (var d of pcbdata[layername][layer]) {
    if (["segment", "arc", "circle", "curve", "rect"].includes(d.type)) {
      drawedge(ctx, scalefactor, d, edgeColor);
    } else if (d.type == "polygon") {
      drawPolygonShape(ctx, d, polygonColor);
    } else {
      drawText(ctx, d, textColor);
    }
  }
}

function drawTracks(canvas, layer, color, highlight) {
  ctx = canvas.getContext("2d");
  ctx.strokeStyle = color;
  ctx.lineCap = "round";
  for(var track of pcbdata.tracks[layer]) {
    if (highlight && highlightedNet != track.net) continue;
    ctx.lineWidth = track.width;
    ctx.beginPath();
    ctx.moveTo(...track.start);
    ctx.lineTo(...track.end);
    ctx.stroke();
  }
}

function drawZones(canvas, layer, color, highlight) {
  ctx = canvas.getContext("2d");
  ctx.strokeStyle = color;
  ctx.fillStyle = color;
  ctx.lineJoin = "round";
  for(var zone of pcbdata.zones[layer]) {
    if (!zone.path2d) {
      zone.path2d = getPolygonsPath(zone);
    }
    if (highlight && highlightedNet != zone.net) continue;
    ctx.fill(zone.path2d);
    if (zone.width > 0) {
      ctx.lineWidth = zone.width;
      ctx.stroke(zone.path2d);
    }
  }
}

function clearCanvas(canvas, color = null) {
  var ctx = canvas.getContext("2d");
  ctx.save();
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  if (color) {
    ctx.fillStyle = color;
    ctx.fillRect(0, 0, canvas.width, canvas.height);
  } else {
    ctx.clearRect(0, 0, canvas.width, canvas.height);
  }
  ctx.restore();
}

function drawNets(canvas, layer, highlight) {
  var style = getComputedStyle(topmostdiv);
  if (settings.renderTracks) {
    var trackColor = style.getPropertyValue(highlight ? '--track-color-highlight' : '--track-color');
    drawTracks(canvas, layer, trackColor, highlight);
  }
  if (settings.renderZones) {
    var zoneColor = style.getPropertyValue(highlight ? '--zone-color-highlight' : '--zone-color');
    drawZones(canvas, layer, zoneColor, highlight);
  }
  if (highlight && settings.renderPads) {
    var padColor = style.getPropertyValue('--pad-color-highlight');
    var padHoleColor = style.getPropertyValue('--pad-hole-color');
    var ctx = canvas.getContext("2d");
    for (var footprint of pcbdata.footprints) {
      // draw pads
      var padDrawn = false;
      for (var pad of footprint.pads) {
        if (highlightedNet != pad.net) continue;
        if (pad.layers.includes(layer)) {
          drawPad(ctx, pad, padColor, false);
          padDrawn = true;
        }
      }
      if (padDrawn) {
        // redraw all pad holes because some pads may overlap
        for (var pad of footprint.pads) {
          drawPadHole(ctx, pad, padHoleColor);
        }
      }
    }
  }
}

function drawHighlightsOnLayer(canvasdict, clear = true) {
  if (clear) {
    clearCanvas(canvasdict.highlight);
  }
  if (highlightedFootprints.length > 0) {
    drawFootprints(canvasdict.highlight, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom, true);
  }
  if (highlightedNet !== null) {
    drawNets(canvasdict.highlight, canvasdict.layer, true);
  }
}

function drawHighlights() {
  drawHighlightsOnLayer(allcanvas.front);
  drawHighlightsOnLayer(allcanvas.back);
}

function drawBackground(canvasdict, clear = true) {
  if (clear) {
    clearCanvas(canvasdict.bg);
    clearCanvas(canvasdict.fab);
    clearCanvas(canvasdict.silk);
  }

  drawNets(canvasdict.bg, canvasdict.layer, false);
  drawFootprints(canvasdict.bg, canvasdict.layer,
    canvasdict.transform.s * canvasdict.transform.zoom, false);

  drawEdgeCuts(canvasdict.bg, canvasdict.transform.s);

  var style = getComputedStyle(topmostdiv);
  var edgeColor = style.getPropertyValue('--silkscreen-edge-color');
  var polygonColor = style.getPropertyValue('--silkscreen-polygon-color');
  var textColor = style.getPropertyValue('--silkscreen-text-color');
  if (settings.renderSilkscreen) {
    drawBgLayer(
      "silkscreen", canvasdict.silk, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom,
      edgeColor, polygonColor, textColor);
  }
  edgeColor = style.getPropertyValue('--fabrication-edge-color');
  polygonColor = style.getPropertyValue('--fabrication-polygon-color');
  textColor = style.getPropertyValue('--fabrication-text-color');
  if (settings.renderFabrication) {
    drawBgLayer(
      "fabrication", canvasdict.fab, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom,
      edgeColor, polygonColor, textColor);
  }
}

function prepareCanvas(canvas, flip, transform) {
  var ctx = canvas.getContext("2d");
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  var fontsize = 1.55;
  ctx.scale(transform.zoom, transform.zoom);
  ctx.translate(transform.panx, transform.pany);
  if (flip) {
    ctx.scale(-1, 1);
  }
  ctx.translate(transform.x, transform.y);
  ctx.rotate(deg2rad(settings.boardRotation));
  ctx.scale(transform.s, transform.s);
}

function prepareLayer(canvasdict) {
  var flip = (canvasdict.layer == "B");
  for (var c of ["bg", "fab", "silk", "highlight"]) {
    prepareCanvas(canvasdict[c], flip, canvasdict.transform);
  }
}

function rotateVector(v, angle) {
  angle = deg2rad(angle);
  return [
    v[0] * Math.cos(angle) - v[1] * Math.sin(angle),
    v[0] * Math.sin(angle) + v[1] * Math.cos(angle)
  ];
}

function applyRotation(bbox) {
  var corners = [
    [bbox.minx, bbox.miny],
    [bbox.minx, bbox.maxy],
    [bbox.maxx, bbox.miny],
    [bbox.maxx, bbox.maxy],
  ];
  corners = corners.map((v) => rotateVector(v, settings.boardRotation));
  return {
    minx: corners.reduce((a, v) => Math.min(a, v[0]), Infinity),
    miny: corners.reduce((a, v) => Math.min(a, v[1]), Infinity),
    maxx: corners.reduce((a, v) => Math.max(a, v[0]), -Infinity),
    maxy: corners.reduce((a, v) => Math.max(a, v[1]), -Infinity),
  }
}

function recalcLayerScale(layerdict, width, height) {
  var bbox = applyRotation(pcbdata.edges_bbox);
  var scalefactor = 0.98 * Math.min(
    width / (bbox.maxx - bbox.minx),
    height / (bbox.maxy - bbox.miny)
  );
  if (scalefactor < 0.1) {
    scalefactor = 1;
  }
  layerdict.transform.s = scalefactor;
  var flip = (layerdict.layer == "B");
  if (flip) {
    layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor + width) * 0.5;
  } else {
    layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor - width) * 0.5;
  }
  layerdict.transform.y = -((bbox.maxy + bbox.miny) * scalefactor - height) * 0.5;
  for (var c of ["bg", "fab", "silk", "highlight"]) {
    canvas = layerdict[c];
    canvas.width = width;
    canvas.height = height;
    canvas.style.width = (width / devicePixelRatio) + "px";
    canvas.style.height = (height / devicePixelRatio) + "px";
  }
}

function redrawCanvas(layerdict) {
  prepareLayer(layerdict);
  drawBackground(layerdict);
  drawHighlightsOnLayer(layerdict);
}

function resizeCanvas(layerdict) {
  var canvasdivid = {
    "F": "frontcanvas",
    "B": "backcanvas"
  } [layerdict.layer];
  var width = document.getElementById(canvasdivid).clientWidth * devicePixelRatio;
  var height = document.getElementById(canvasdivid).clientHeight * devicePixelRatio;
  recalcLayerScale(layerdict, width, height);
  redrawCanvas(layerdict);
}

function resizeAll() {
  resizeCanvas(allcanvas.front);
  resizeCanvas(allcanvas.back);
}

function pointWithinDistanceToSegment(x, y, x1, y1, x2, y2, d) {
  var A = x - x1;
  var B = y - y1;
  var C = x2 - x1;
  var D = y2 - y1;

  var dot = A * C + B * D;
  var len_sq = C * C + D * D;
  var dx, dy;
  if (len_sq == 0) {
    // start and end of the segment coincide
    dx = x - x1;
    dy = y - y1;
  } else {
    var param = dot / len_sq;
    var xx, yy;
    if (param < 0) {
      xx = x1;
      yy = y1;
    } else if (param > 1) {
      xx = x2;
      yy = y2;
    } else {
      xx = x1 + param * C;
      yy = y1 + param * D;
    }
    dx = x - xx;
    dy = y - yy;
  }
  return dx * dx + dy * dy <= d * d;
}

function pointWithinPad(x, y, pad) {
  var v = [x - pad.pos[0], y - pad.pos[1]];
  v = rotateVector(v, -pad.angle);
  if (pad.offset) {
    v[0] -= pad.offset[0];
    v[1] -= pad.offset[1];
  }
  return emptyContext2d.isPointInPath(getCachedPadPath(pad), ...v);
}

function netHitScan(layer, x, y) {
  // Check track segments
  if (settings.renderTracks && pcbdata.tracks) {
    for(var track of pcbdata.tracks[layer]) {
      if (pointWithinDistanceToSegment(x, y, ...track.start, ...track.end, track.width / 2)) {
        return track.net;
      }
    }
  }
  // Check pads
  if (settings.renderPads) {
    for (var footprint of pcbdata.footprints) {
      for(var pad of footprint.pads) {
        if (pad.layers.includes(layer) && pointWithinPad(x, y, pad)) {
          return pad.net;
        }
      }
    }
  }
  return null;
}

function pointWithinFootprintBbox(x, y, bbox) {
  var v = [x - bbox.pos[0], y - bbox.pos[1]];
  v = rotateVector(v, bbox.angle);
  return bbox.relpos[0] <= v[0] && v[0] <= bbox.relpos[0] + bbox.size[0] &&
         bbox.relpos[1] <= v[1] && v[1] <= bbox.relpos[1] + bbox.size[1];
}

function bboxHitScan(layer, x, y) {
  var result = [];
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    var footprint = pcbdata.footprints[i];
    if (footprint.layer == layer) {
      if (pointWithinFootprintBbox(x, y, footprint.bbox)) {
        result.push(i);
      }
    }
  }
  return result;
}

function handlePointerDown(e, layerdict) {
  if (e.button != 0 && e.button != 1) {
    return;
  }
  e.preventDefault();
  e.stopPropagation();

  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  layerdict.pointerStates[e.pointerId] = {
    distanceTravelled: 0,
    lastX: e.offsetX,
    lastY: e.offsetY,
    downTime: Date.now(),
  };
}

function handleMouseClick(e, layerdict) {
  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  var x = e.offsetX;
  var y = e.offsetY;
  var t = layerdict.transform;
  if (layerdict.layer == "B") {
    x = (devicePixelRatio * x / t.zoom - t.panx + t.x) / -t.s;
  } else {
    x = (devicePixelRatio * x / t.zoom - t.panx - t.x) / t.s;
  }
  y = (devicePixelRatio * y / t.zoom - t.y - t.pany) / t.s;
  var v = rotateVector([x, y], -settings.boardRotation);
  if ("nets" in pcbdata) {
    var net = netHitScan(layerdict.layer, ...v);
    if (net !== highlightedNet) {
      netClicked(net);
    }
  }
  if (highlightedNet === null) {
    var footprints = bboxHitScan(layerdict.layer, ...v);
    if (footprints.length > 0) {
      footprintsClicked(footprints);
    }
  }
}

function handlePointerLeave(e, layerdict) {
  e.preventDefault();
  e.stopPropagation();

  if (!settings.redrawOnDrag) {
    redrawCanvas(layerdict);
  }

  delete layerdict.pointerStates[e.pointerId];
}

function resetTransform(layerdict) {
  layerdict.transform.panx = 0;
  layerdict.transform.pany = 0;
  layerdict.transform.zoom = 1;
  redrawCanvas(layerdict);
}

function handlePointerUp(e, layerdict) {
  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  e.preventDefault();
  e.stopPropagation();

  if (e.button == 2) {
    // Reset pan and zoom on right click.
    resetTransform(layerdict);
    layerdict.anotherPointerTapped = false;
    return;
  }

  // We haven't necessarily had a pointermove event since the interaction started, so make sure we update this now
  var ptr = layerdict.pointerStates[e.pointerId];
  ptr.distanceTravelled += Math.abs(e.offsetX - ptr.lastX) + Math.abs(e.offsetY - ptr.lastY);

  if (e.button == 0 && ptr.distanceTravelled < 10 && Date.now() - ptr.downTime <= 500) {
    if (Object.keys(layerdict.pointerStates).length == 1) {
      if (layerdict.anotherPointerTapped) {
        // This is the second pointer coming off of a two-finger tap
        resetTransform(layerdict);
      } else {
        // This is just a regular tap
        handleMouseClick(e, layerdict);
      }
      layerdict.anotherPointerTapped = false;
    } else {
      // This is the first finger coming off of what could become a two-finger tap
      layerdict.anotherPointerTapped = true;
    }
  } else {
    if (!settings.redrawOnDrag) {
      redrawCanvas(layerdict);
    }
    layerdict.anotherPointerTapped = false;
  }

  delete layerdict.pointerStates[e.pointerId];
}

function handlePointerMove(e, layerdict) {
  if (!layerdict.pointerStates.hasOwnProperty(e.pointerId)) {
    return;
  }
  e.preventDefault();
  e.stopPropagation();

  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  var thisPtr = layerdict.pointerStates[e.pointerId];

  var dx = e.offsetX - thisPtr.lastX;
  var dy = e.offsetY - thisPtr.lastY;

  // If this number is low on pointer up, we count the action as a click
  thisPtr.distanceTravelled += Math.abs(dx) + Math.abs(dy);

  if (Object.keys(layerdict.pointerStates).length == 1) {
    // This is a simple drag
    layerdict.transform.panx += devicePixelRatio * dx / layerdict.transform.zoom;
    layerdict.transform.pany += devicePixelRatio * dy / layerdict.transform.zoom;
  } else if (Object.keys(layerdict.pointerStates).length == 2) {
    var otherPtr = Object.values(layerdict.pointerStates).filter((ptr) => ptr != thisPtr)[0];

    var oldDist = Math.sqrt(Math.pow(thisPtr.lastX - otherPtr.lastX, 2) + Math.pow(thisPtr.lastY - otherPtr.lastY, 2));
    var newDist = Math.sqrt(Math.pow(e.offsetX - otherPtr.lastX, 2)     + Math.pow(e.offsetY - otherPtr.lastY, 2));

    var scaleFactor = newDist/oldDist;

    if (scaleFactor != NaN) {
      layerdict.transform.zoom *= scaleFactor;

      var zoomd = (1 - scaleFactor) / layerdict.transform.zoom;
      layerdict.transform.panx += devicePixelRatio * otherPtr.lastX * zoomd;
      layerdict.transform.pany += devicePixelRatio * otherPtr.lastY * zoomd;
    }
  }

  thisPtr.lastX = e.offsetX;
  thisPtr.lastY = e.offsetY;

  if (settings.redrawOnDrag) {
    redrawCanvas(layerdict);
  }
}

function handleMouseWheel(e, layerdict) {
  e.preventDefault();
  e.stopPropagation();
  var t = layerdict.transform;
  var wheeldelta = e.deltaY;
  if (e.deltaMode == 1) {
    // FF only, scroll by lines
    wheeldelta *= 30;
  } else if (e.deltaMode == 2) {
    wheeldelta *= 300;
  }
  var m = Math.pow(1.1, -wheeldelta / 40);
  // Limit amount of zoom per tick.
  if (m > 2) {
    m = 2;
  } else if (m < 0.5) {
    m = 0.5;
  }
  t.zoom *= m;
  var zoomd = (1 - m) / t.zoom;
  t.panx += devicePixelRatio * e.offsetX * zoomd;
  t.pany += devicePixelRatio * e.offsetY * zoomd;
  redrawCanvas(layerdict);
}

function addMouseHandlers(div, layerdict) {
  div.addEventListener("pointerdown", function(e) {
    handlePointerDown(e, layerdict);
  });
  div.addEventListener("pointermove", function(e) {
    handlePointerMove(e, layerdict);
  });
  div.addEventListener("pointerup", function(e) {
    handlePointerUp(e, layerdict);
  });
  var pointerleave = function(e) {
    handlePointerLeave(e, layerdict);
  }
  div.addEventListener("pointercancel", pointerleave);
  div.addEventListener("pointerleave", pointerleave);
  div.addEventListener("pointerout", pointerleave);

  div.onwheel = function(e) {
    handleMouseWheel(e, layerdict);
  }
  for (var element of [div, layerdict.bg, layerdict.fab, layerdict.silk, layerdict.highlight]) {
    element.addEventListener("contextmenu", function(e) {
      e.preventDefault();
    }, false);
  }
}

function setRedrawOnDrag(value) {
  settings.redrawOnDrag = value;
  writeStorage("redrawOnDrag", value);
}

function setBoardRotation(value) {
  settings.boardRotation = value * 5;
  writeStorage("boardRotation", settings.boardRotation);
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
  resizeAll();
}

function initRender() {
  allcanvas = {
    front: {
      transform: {
        x: 0,
        y: 0,
        s: 1,
        panx: 0,
        pany: 0,
        zoom: 1,
      },
      pointerStates: {},
      anotherPointerTapped: false,
      bg: document.getElementById("F_bg"),
      fab: document.getElementById("F_fab"),
      silk: document.getElementById("F_slk"),
      highlight: document.getElementById("F_hl"),
      layer: "F",
    },
    back: {
      transform: {
        x: 0,
        y: 0,
        s: 1,
        panx: 0,
        pany: 0,
        zoom: 1,
      },
      pointerStates: {},
      anotherPointerTapped: false,
      bg: document.getElementById("B_bg"),
      fab: document.getElementById("B_fab"),
      silk: document.getElementById("B_slk"),
      highlight: document.getElementById("B_hl"),
      layer: "B",
    }
  };
  addMouseHandlers(document.getElementById("frontcanvas"), allcanvas.front);
  addMouseHandlers(document.getElementById("backcanvas"), allcanvas.back);
}

///////////////////////////////////////////////

///////////////////////////////////////////////
/* DOM manipulation and misc code */

var bomsplit;
var canvassplit;
var initDone = false;
var bomSortFunction = null;
var currentSortColumn = null;
var currentSortOrder = null;
var currentHighlightedRowId;
var highlightHandlers = [];
var footprintIndexToHandler = {};
var netsToHandler = {};
var highlightedFootprints = [];
var highlightedNet = null;
var lastClicked;

function dbg(html) {
  dbgdiv.innerHTML = html;
}

function redrawIfInitDone() {
  if (initDone) {
    redrawCanvas(allcanvas.front);
    redrawCanvas(allcanvas.back);
  }
}

function padsVisible(value) {
  writeStorage("padsVisible", value);
  settings.renderPads = value;
  redrawIfInitDone();
}

function referencesVisible(value) {
  writeStorage("referencesVisible", value);
  settings.renderReferences = value;
  redrawIfInitDone();
}

function valuesVisible(value) {
  writeStorage("valuesVisible", value);
  settings.renderValues = value;
  redrawIfInitDone();
}

function tracksVisible(value) {
  writeStorage("tracksVisible", value);
  settings.renderTracks = value;
  redrawIfInitDone();
}

function zonesVisible(value) {
  writeStorage("zonesVisible", value);
  settings.renderZones = value;
  redrawIfInitDone();
}

function dnpOutline(value) {
  writeStorage("dnpOutline", value);
  settings.renderDnpOutline = value;
  redrawIfInitDone();
}

function setDarkMode(value) {
  if (value) {
    topmostdiv.classList.add("dark");
  } else {
    topmostdiv.classList.remove("dark");
  }
  writeStorage("darkmode", value);
  settings.darkMode = value;
  redrawIfInitDone();
}

function setFullscreen(value) {
  if (value) {
    document.documentElement.requestFullscreen();
  } else {
    document.exitFullscreen();
  }
}

function fabricationVisible(value) {
  writeStorage("fabricationVisible", value);
  settings.renderFabrication = value;
  redrawIfInitDone();
}

function silkscreenVisible(value) {
  writeStorage("silkscreenVisible", value);
  settings.renderSilkscreen = value;
  redrawIfInitDone();
}

function setHighlightPin1(value) {
  writeStorage("highlightpin1", value);
  settings.highlightpin1 = value;
  redrawIfInitDone();
}

function getStoredCheckboxRefs(checkbox) {
  function convert(ref) {
    var intref = parseInt(ref);
    if (isNaN(intref)) {
      for (var i = 0; i < pcbdata.footprints.length; i++) {
        if (pcbdata.footprints[i].ref == ref) {
          return i;
        }
      }
      return -1;
    } else {
      return intref;
    }
  }
  if (!(checkbox in settings.checkboxStoredRefs)) {
    var val = readStorage("checkbox_" + checkbox);
    settings.checkboxStoredRefs[checkbox] = val ? val : "";
  }
  if (!settings.checkboxStoredRefs[checkbox]) {
    return new Set();
  } else {
    return new Set(settings.checkboxStoredRefs[checkbox].split(",").map(r => convert(r)).filter(a => a >= 0));
  }
}

function getCheckboxState(checkbox, references) {
  var storedRefsSet = getStoredCheckboxRefs(checkbox);
  var currentRefsSet = new Set(references.map(r => r[1]));
  // Get difference of current - stored
  var difference = new Set(currentRefsSet);
  for (ref of storedRefsSet) {
    difference.delete(ref);
  }
  if (difference.size == 0) {
    // All the current refs are stored
    return "checked";
  } else if (difference.size == currentRefsSet.size) {
    // None of the current refs are stored
    return "unchecked";
  } else {
    // Some of the refs are stored
    return "indeterminate";
  }
}

function setBomCheckboxState(checkbox, element, references) {
  var state = getCheckboxState(checkbox, references);
  element.checked = (state == "checked");
  element.indeterminate = (state == "indeterminate");
}

function createCheckboxChangeHandler(checkbox, references, row) {
  return function() {
    refsSet = getStoredCheckboxRefs(checkbox);
    var darkenWhenChecked = settings.darkenWhenChecked == checkbox;
    eventArgs = {
      checkbox: checkbox,
      refs: references,
    }
    if (this.checked) {
      // checkbox ticked
      for (var ref of references) {
        refsSet.add(ref[1]);
      }
      if (darkenWhenChecked) {
        row.classList.add("checked");
      }
      eventArgs.state = 'checked';
    } else {
      // checkbox unticked
      for (var ref of references) {
        refsSet.delete(ref[1]);
      }
      if (darkenWhenChecked) {
        row.classList.remove("checked");
      }
      eventArgs.state = 'unchecked';
    }
    settings.checkboxStoredRefs[checkbox] = [...refsSet].join(",");
    writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
    updateCheckboxStats(checkbox);
    EventHandler.emitEvent(IBOM_EVENT_TYPES.CHECKBOX_CHANGE_EVENT, eventArgs);
  }
}

function clearHighlightedFootprints() {
  if (currentHighlightedRowId) {
    document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
    currentHighlightedRowId = null;
    highlightedFootprints = [];
    highlightedNet = null;
  }
}

function createRowHighlightHandler(rowid, refs, net) {
  return function() {
    if (currentHighlightedRowId) {
      if (currentHighlightedRowId == rowid) {
        return;
      }
      document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
    }
    document.getElementById(rowid).classList.add("highlighted");
    currentHighlightedRowId = rowid;
    highlightedFootprints = refs ? refs.map(r => r[1]) : [];
    highlightedNet = net;
    drawHighlights();
    EventHandler.emitEvent(
      IBOM_EVENT_TYPES.HIGHLIGHT_EVENT,
      {
        rowid: rowid,
        refs: refs,
        net: net
      });
  }
}

function entryMatches(entry) {
  if (settings.bommode == "netlist") {
    // entry is just a net name
    return entry.toLowerCase().indexOf(filter) >= 0;
  }
  // check refs
  for (var ref of entry[3]) {
    if (ref[0].toLowerCase().indexOf(filter) >= 0) {
      return true;
    }
  }
  // check extra fields
  for (var i in config.extra_fields) {
    if (entry[4][i].toLowerCase().indexOf(filter) >= 0) {
      return true;
    }
  }
  // check value
  if (entry[1].toLowerCase().indexOf(filter) >= 0) {
    return true;
  }
  // check footprint
  if (entry[2].toLowerCase().indexOf(filter) >= 0) {
    return true;
  }
  return false;
}

function findRefInEntry(entry) {
  return entry[3].filter(r => r[0].toLowerCase() == reflookup);
}

function highlightFilter(s) {
  if (!filter) {
    return s;
  }
  var parts = s.toLowerCase().split(filter);
  if (parts.length == 1) {
    return s;
  }
  var r = "";
  var pos = 0;
  for (var i in parts) {
    if (i > 0) {
      r += '<mark class="highlight">' +
        s.substring(pos, pos + filter.length) +
        '</mark>';
      pos += filter.length;
    }
    r += s.substring(pos, pos + parts[i].length);
    pos += parts[i].length;
  }
  return r;
}

function checkboxSetUnsetAllHandler(checkboxname) {
  return function() {
    var checkboxnum = 0;
    while (checkboxnum < settings.checkboxes.length &&
      settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
      checkboxnum++;
    }
    if (checkboxnum >= settings.checkboxes.length) {
      return;
    }
    var allset = true;
    var checkbox;
    var row;
    for (row of bombody.childNodes) {
      checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
      if (!checkbox.checked || checkbox.indeterminate) {
        allset = false;
        break;
      }
    }
    for (row of bombody.childNodes) {
      checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
      checkbox.checked = !allset;
      checkbox.indeterminate = false;
      checkbox.onchange();
    }
  }
}

function createColumnHeader(name, cls, comparator) {
  var th = document.createElement("TH");
  th.innerHTML = name;
  th.classList.add(cls);
  th.style.cursor = "pointer";
  var span = document.createElement("SPAN");
  span.classList.add("sortmark");
  span.classList.add("none");
  th.appendChild(span);
  th.onclick = function() {
    if (currentSortColumn && this !== currentSortColumn) {
      // Currently sorted by another column
      currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
      currentSortColumn.childNodes[1].classList.add("none");
      currentSortColumn = null;
      currentSortOrder = null;
    }
    if (currentSortColumn && this === currentSortColumn) {
      // Already sorted by this column
      if (currentSortOrder == "asc") {
        // Sort by this column, descending order
        bomSortFunction = function(a, b) {
          return -comparator(a, b);
        }
        currentSortColumn.childNodes[1].classList.remove("asc");
        currentSortColumn.childNodes[1].classList.add("desc");
        currentSortOrder = "desc";
      } else {
        // Unsort
        bomSortFunction = null;
        currentSortColumn.childNodes[1].classList.remove("desc");
        currentSortColumn.childNodes[1].classList.add("none");
        currentSortColumn = null;
        currentSortOrder = null;
      }
    } else {
      // Sort by this column, ascending order
      bomSortFunction = comparator;
      currentSortColumn = this;
      currentSortColumn.childNodes[1].classList.remove("none");
      currentSortColumn.childNodes[1].classList.add("asc");
      currentSortOrder = "asc";
    }
    populateBomBody();
  }
  return th;
}

function populateBomHeader() {
  while (bomhead.firstChild) {
    bomhead.removeChild(bomhead.firstChild);
  }
  var tr = document.createElement("TR");
  var th = document.createElement("TH");
  th.classList.add("numCol");
  tr.appendChild(th);
  var checkboxCompareClosure = function(checkbox) {
    return (a, b) => {
      var stateA = getCheckboxState(checkbox, a[3]);
      var stateB = getCheckboxState(checkbox, b[3]);
      if (stateA > stateB) return -1;
      if (stateA < stateB) return 1;
      return 0;
    }
  }
  if (settings.bommode == "netlist") {
    th = createColumnHeader("Net name", "bom-netname", (a, b) => {
      if (a > b) return -1;
      if (a < b) return 1;
      return 0;
    });
    tr.appendChild(th);
  } else {
    for (var checkbox of settings.checkboxes) {
      th = createColumnHeader(
        checkbox, "bom-checkbox", checkboxCompareClosure(checkbox));
      th.onclick = fancyDblClickHandler(
        th, th.onclick.bind(th), checkboxSetUnsetAllHandler(checkbox));
      tr.appendChild(th);
    }
    tr.appendChild(createColumnHeader("References", "References", (a, b) => {
      var i = 0;
      while (i < a[3].length && i < b[3].length) {
        if (a[3][i] != b[3][i]) return a[3][i] > b[3][i] ? 1 : -1;
        i++;
      }
      return a[3].length - b[3].length;
    }));
    // Extra fields
    if (config.extra_fields.length > 0) {
      var extraFieldCompareClosure = function(fieldIndex) {
        return (a, b) => {
          var fa = a[4][fieldIndex];
          var fb = b[4][fieldIndex];
          if (fa != fb) return fa > fb ? 1 : -1;
          else return 0;
        }
      }
      for (var i in config.extra_fields) {
        tr.appendChild(createColumnHeader(
          config.extra_fields[i], "extra", extraFieldCompareClosure(i)));
      }
    }
    tr.appendChild(createColumnHeader("Value", "Value", (a, b) => {
      return valueCompare(a[5], b[5], a[1], b[1]);
    }));
    tr.appendChild(createColumnHeader("Footprint", "Footprint", (a, b) => {
      if (a[2] != b[2]) return a[2] > b[2] ? 1 : -1;
      else return 0;
    }));
    if (settings.bommode == "grouped") {
      tr.appendChild(createColumnHeader("Quantity", "Quantity", (a, b) => {
        return a[3].length - b[3].length;
      }));
    }
  }
  bomhead.appendChild(tr);
}

function populateBomBody() {
  while (bom.firstChild) {
    bom.removeChild(bom.firstChild);
  }
  highlightHandlers = [];
  footprintIndexToHandler = {};
  netsToHandler = {};
  currentHighlightedRowId = null;
  var first = true;
  if (settings.bommode == "netlist") {
    bomtable = pcbdata.nets.slice();
  } else {
    switch (settings.canvaslayout) {
      case 'F':
        bomtable = pcbdata.bom.F.slice();
        break;
      case 'FB':
        bomtable = pcbdata.bom.both.slice();
        break;
      case 'B':
        bomtable = pcbdata.bom.B.slice();
        break;
    }
    if (settings.bommode == "ungrouped") {
      // expand bom table
      expandedTable = []
      for (var bomentry of bomtable) {
        for (var ref of bomentry[3]) {
          expandedTable.push([1, bomentry[1], bomentry[2], [ref], bomentry[4], bomentry[5]]);
        }
      }
      bomtable = expandedTable;
    }
  }
  if (bomSortFunction) {
    bomtable = bomtable.sort(bomSortFunction);
  }
  for (var i in bomtable) {
    var bomentry = bomtable[i];
    if (filter && !entryMatches(bomentry)) {
      continue;
    }
    var references = null;
    var netname = null;
    var tr = document.createElement("TR");
    var td = document.createElement("TD");
    var rownum = +i + 1;
    tr.id = "bomrow" + rownum;
    td.textContent = rownum;
    tr.appendChild(td);
    if (settings.bommode == "netlist") {
      netname = bomentry;
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(netname ? netname : "&lt;no net&gt;");
      tr.appendChild(td);
    } else {
      if (reflookup) {
        references = findRefInEntry(bomentry);
        if (references.length == 0) {
          continue;
        }
      } else {
        references = bomentry[3];
      }
      // Checkboxes
      for (var checkbox of settings.checkboxes) {
        if (checkbox) {
          td = document.createElement("TD");
          var input = document.createElement("input");
          input.type = "checkbox";
          input.onchange = createCheckboxChangeHandler(checkbox, references, tr);
          setBomCheckboxState(checkbox, input, references);
          if (input.checked && settings.darkenWhenChecked == checkbox) {
            tr.classList.add("checked");
          }
          td.appendChild(input);
          tr.appendChild(td);
        }
      }
      // References
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(references.map(r => r[0]).join(", "));
      tr.appendChild(td);
      // Extra fields
      for (var i in config.extra_fields) {
        td = document.createElement("TD");
        td.innerHTML = highlightFilter(bomentry[4][i]);
        tr.appendChild(td);
      }
      // Value
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(bomentry[1]);
      tr.appendChild(td);
      // Footprint
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(bomentry[2]);
      tr.appendChild(td);
      if (settings.bommode == "grouped") {
        // Quantity
        td = document.createElement("TD");
        td.textContent = bomentry[3].length;
        tr.appendChild(td);
      }
    }
    bom.appendChild(tr);
    var handler = createRowHighlightHandler(tr.id, references, netname);
    tr.onmousemove = handler;
    highlightHandlers.push({
      id: tr.id,
      handler: handler,
    });
    if (references !== null) {
      for (var refIndex of references.map(r => r[1])) {
        footprintIndexToHandler[refIndex] = handler;
      }
    }
    if (netname !== null) {
      netsToHandler[netname] = handler;
    }
    if ((filter || reflookup) && first) {
      handler();
      first = false;
    }
  }
  EventHandler.emitEvent(
    IBOM_EVENT_TYPES.BOM_BODY_CHANGE_EVENT,
    {
      filter: filter,
      reflookup: reflookup,
      checkboxes: settings.checkboxes,
      bommode: settings.bommode,
    });
}

function highlightPreviousRow() {
  if (!currentHighlightedRowId) {
    highlightHandlers[highlightHandlers.length - 1].handler();
  } else {
    if (highlightHandlers.length > 1 &&
      highlightHandlers[0].id == currentHighlightedRowId) {
      highlightHandlers[highlightHandlers.length - 1].handler();
    } else {
      for (var i = 0; i < highlightHandlers.length - 1; i++) {
        if (highlightHandlers[i + 1].id == currentHighlightedRowId) {
          highlightHandlers[i].handler();
          break;
        }
      }
    }
  }
  smoothScrollToRow(currentHighlightedRowId);
}

function highlightNextRow() {
  if (!currentHighlightedRowId) {
    highlightHandlers[0].handler();
  } else {
    if (highlightHandlers.length > 1 &&
      highlightHandlers[highlightHandlers.length - 1].id == currentHighlightedRowId) {
      highlightHandlers[0].handler();
    } else {
      for (var i = 1; i < highlightHandlers.length; i++) {
        if (highlightHandlers[i - 1].id == currentHighlightedRowId) {
          highlightHandlers[i].handler();
          break;
        }
      }
    }
  }
  smoothScrollToRow(currentHighlightedRowId);
}

function populateBomTable() {
  populateBomHeader();
  populateBomBody();
}

function footprintsClicked(footprintIndexes) {
  var lastClickedIndex = footprintIndexes.indexOf(lastClicked);
  for (var i = 1; i <= footprintIndexes.length; i++) {
    var refIndex = footprintIndexes[(lastClickedIndex + i) % footprintIndexes.length];
    if (refIndex in footprintIndexToHandler) {
      lastClicked = refIndex;
      footprintIndexToHandler[refIndex]();
      smoothScrollToRow(currentHighlightedRowId);
      break;
    }
  }
}

function netClicked(net) {
  if (net in netsToHandler) {
    netsToHandler[net]();
    smoothScrollToRow(currentHighlightedRowId);
  } else {
    clearHighlightedFootprints();
    highlightedNet = net;
    drawHighlights();
  }
}

function updateFilter(input) {
  filter = input.toLowerCase();
  populateBomTable();
}

function updateRefLookup(input) {
  reflookup = input.toLowerCase();
  populateBomTable();
}

function changeCanvasLayout(layout) {
  document.getElementById("fl-btn").classList.remove("depressed");
  document.getElementById("fb-btn").classList.remove("depressed");
  document.getElementById("bl-btn").classList.remove("depressed");
  switch (layout) {
    case 'F':
      document.getElementById("fl-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.collapse(1);
      }
      break;
    case 'B':
      document.getElementById("bl-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.collapse(0);
      }
      break;
    default:
      document.getElementById("fb-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.setSizes([50, 50]);
      }
  }
  settings.canvaslayout = layout;
  writeStorage("canvaslayout", layout);
  resizeAll();
  changeBomMode(settings.bommode);
}

function populateMetadata() {
  document.getElementById("title").innerHTML = pcbdata.metadata.title;
  document.getElementById("revision").innerHTML = "Rev: " + pcbdata.metadata.revision;
  document.getElementById("company").innerHTML = pcbdata.metadata.company;
  document.getElementById("filedate").innerHTML = pcbdata.metadata.date;
  if (pcbdata.metadata.title != "") {
    document.title = pcbdata.metadata.title + " BOM";
  }
  // Calculate board stats
  var fp_f = 0, fp_b = 0, pads_f = 0, pads_b = 0, pads_th = 0;
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    if (pcbdata.bom.skipped.includes(i)) continue;
    var mod = pcbdata.footprints[i];
    if (mod.layer == "F") {
      fp_f++;
    } else {
      fp_b++;
    }
    for (var pad of mod.pads) {
      if (pad.type == "th") {
        pads_th++;
      } else {
        if (pad.layers.includes("F")) {
          pads_f++;
        }
        if (pad.layers.includes("B")) {
          pads_b++;
        }
      }
    }
  }
  document.getElementById("stats-components-front").innerHTML = fp_f;
  document.getElementById("stats-components-back").innerHTML = fp_b;
  document.getElementById("stats-components-total").innerHTML = fp_f + fp_b;
  document.getElementById("stats-groups-front").innerHTML = pcbdata.bom.F.length;
  document.getElementById("stats-groups-back").innerHTML = pcbdata.bom.B.length;
  document.getElementById("stats-groups-total").innerHTML = pcbdata.bom.both.length;
  document.getElementById("stats-smd-pads-front").innerHTML = pads_f;
  document.getElementById("stats-smd-pads-back").innerHTML = pads_b;
  document.getElementById("stats-smd-pads-total").innerHTML = pads_f + pads_b;
  document.getElementById("stats-th-pads").innerHTML = pads_th;
  // Update version string
  document.getElementById("github-link").innerHTML = "InteractiveHtmlBom&nbsp;" +
    /^v\d+\.\d+/.exec(pcbdata.ibom_version)[0];
}

function changeBomLayout(layout) {
  document.getElementById("bom-btn").classList.remove("depressed");
  document.getElementById("lr-btn").classList.remove("depressed");
  document.getElementById("tb-btn").classList.remove("depressed");
  switch (layout) {
    case 'bom-only':
      document.getElementById("bom-btn").classList.add("depressed");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      document.getElementById("frontcanvas").style.display = "none";
      document.getElementById("backcanvas").style.display = "none";
      document.getElementById("bot").style.height = "";
      break;
    case 'top-bottom':
      document.getElementById("tb-btn").classList.add("depressed");
      document.getElementById("frontcanvas").style.display = "";
      document.getElementById("backcanvas").style.display = "";
      document.getElementById("bot").style.height = "calc(100% - 80px)";
      document.getElementById("bomdiv").classList.remove("split-horizontal");
      document.getElementById("canvasdiv").classList.remove("split-horizontal");
      document.getElementById("frontcanvas").classList.add("split-horizontal");
      document.getElementById("backcanvas").classList.add("split-horizontal");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      bomsplit = Split(['#bomdiv', '#canvasdiv'], {
        sizes: [50, 50],
        onDragEnd: resizeAll,
        direction: "vertical",
        gutterSize: 5
      });
      canvassplit = Split(['#frontcanvas', '#backcanvas'], {
        sizes: [50, 50],
        gutterSize: 5,
        onDragEnd: resizeAll
      });
      break;
    case 'left-right':
      document.getElementById("lr-btn").classList.add("depressed");
      document.getElementById("frontcanvas").style.display = "";
      document.getElementById("backcanvas").style.display = "";
      document.getElementById("bot").style.height = "calc(100% - 80px)";
      document.getElementById("bomdiv").classList.add("split-horizontal");
      document.getElementById("canvasdiv").classList.add("split-horizontal");
      document.getElementById("frontcanvas").classList.remove("split-horizontal");
      document.getElementById("backcanvas").classList.remove("split-horizontal");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      bomsplit = Split(['#bomdiv', '#canvasdiv'], {
        sizes: [50, 50],
        onDragEnd: resizeAll,
        gutterSize: 5
      });
      canvassplit = Split(['#frontcanvas', '#backcanvas'], {
        sizes: [50, 50],
        gutterSize: 5,
        direction: "vertical",
        onDragEnd: resizeAll
      });
  }
  settings.bomlayout = layout;
  writeStorage("bomlayout", layout);
  changeCanvasLayout(settings.canvaslayout);
}

function changeBomMode(mode) {
  document.getElementById("bom-grouped-btn").classList.remove("depressed");
  document.getElementById("bom-ungrouped-btn").classList.remove("depressed");
  document.getElementById("bom-netlist-btn").classList.remove("depressed");
  switch (mode) {
    case 'grouped':
      document.getElementById("bom-grouped-btn").classList.add("depressed");
      break;
    case 'ungrouped':
      document.getElementById("bom-ungrouped-btn").classList.add("depressed");
      break;
    case 'netlist':
      document.getElementById("bom-netlist-btn").classList.add("depressed");
  }
  writeStorage("bommode", mode);
  if (mode != settings.bommode) {
    settings.bommode = mode;
    bomSortFunction = null;
    currentSortColumn = null;
    currentSortOrder = null;
    clearHighlightedFootprints();
  }
  populateBomTable();
}

function focusFilterField() {
  focusInputField(document.getElementById("filter"));
}

function focusRefLookupField() {
  focusInputField(document.getElementById("reflookup"));
}

function toggleBomCheckbox(bomrowid, checkboxnum) {
  if (!bomrowid || checkboxnum > settings.checkboxes.length) {
    return;
  }
  var bomrow = document.getElementById(bomrowid);
  var checkbox = bomrow.childNodes[checkboxnum].childNodes[0];
  checkbox.checked = !checkbox.checked;
  checkbox.indeterminate = false;
  checkbox.onchange();
}

function checkBomCheckbox(bomrowid, checkboxname) {
  var checkboxnum = 0;
  while (checkboxnum < settings.checkboxes.length &&
    settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
    checkboxnum++;
  }
  if (!bomrowid || checkboxnum >= settings.checkboxes.length) {
    return;
  }
  var bomrow = document.getElementById(bomrowid);
  var checkbox = bomrow.childNodes[checkboxnum + 1].childNodes[0];
  checkbox.checked = true;
  checkbox.indeterminate = false;
  checkbox.onchange();
}

function setBomCheckboxes(value) {
  writeStorage("bomCheckboxes", value);
  settings.checkboxes = value.split(",").filter((e) => e);
  prepCheckboxes();
  populateBomTable();
  populateDarkenWhenCheckedOptions();
}

function setDarkenWhenChecked(value) {
  writeStorage("darkenWhenChecked", value);
  settings.darkenWhenChecked = value;
  populateBomTable();
}

function prepCheckboxes() {
  var table = document.getElementById("checkbox-stats");
  while (table.childElementCount > 1) {
    table.removeChild(table.lastChild);
  }
  if (settings.checkboxes.length) {
    table.style.display = "";
  } else {
    table.style.display = "none";
  }
  for (var checkbox of settings.checkboxes) {
    var tr = document.createElement("TR");
    var td = document.createElement("TD");
    td.innerHTML = checkbox;
    tr.appendChild(td);
    td = document.createElement("TD");
    td.id = "checkbox-stats-" + checkbox;
    var progressbar = document.createElement("div");
    progressbar.classList.add("bar");
    td.appendChild(progressbar);
    var text = document.createElement("div");
    text.classList.add("text");
    td.appendChild(text);
    tr.appendChild(td);
    table.appendChild(tr);
    updateCheckboxStats(checkbox);
  }
}

function populateDarkenWhenCheckedOptions() {
  var container = document.getElementById("darkenWhenCheckedContainer");

  if (settings.checkboxes.length == 0) {
    container.parentElement.style.display = "none";
    return;
  }

  container.innerHTML = '';
  container.parentElement.style.display = "inline-block";

  function createOption(name, displayName) {
    var id = "darkenWhenChecked-" + name;

    var div = document.createElement("div");
    div.classList.add("radio-container");

    var input = document.createElement("input");
    input.type = "radio";
    input.name = "darkenWhenChecked";
    input.value = name;
    input.id = id;
    input.onchange = () => setDarkenWhenChecked(name);
    div.appendChild(input);

    // Preserve the selected element when the checkboxes change
    if (name == settings.darkenWhenChecked) {
      input.checked = true;
    }

    var label = document.createElement("label");
    label.innerHTML = displayName;
    label.htmlFor = id;
    div.appendChild(label);

    container.appendChild(div);
  }
  createOption("", "None");
  for (var checkbox of settings.checkboxes) {
    createOption(checkbox, checkbox);
  }
}

function updateCheckboxStats(checkbox) {
  var checked = getStoredCheckboxRefs(checkbox).size;
  var total = pcbdata.footprints.length - pcbdata.bom.skipped.length;
  var percent = checked * 100.0 / total;
  var td = document.getElementById("checkbox-stats-" + checkbox);
  td.firstChild.style.width = percent + "%";
  td.lastChild.innerHTML = checked + "/" + total + " (" + Math.round(percent) + "%)";
}

document.onkeydown = function(e) {
  switch (e.key) {
    case "n":
      if (document.activeElement.type == "text") {
        return;
      }
      if (currentHighlightedRowId !== null) {
        checkBomCheckbox(currentHighlightedRowId, "placed");
        highlightNextRow();
        e.preventDefault();
      }
      break;
    case "ArrowUp":
      highlightPreviousRow();
      e.preventDefault();
      break;
    case "ArrowDown":
      highlightNextRow();
      e.preventDefault();
      break;
    default:
      break;
  }
  if (e.altKey) {
    switch (e.key) {
      case "f":
        focusFilterField();
        e.preventDefault();
        break;
      case "r":
        focusRefLookupField();
        e.preventDefault();
        break;
      case "z":
        changeBomLayout("bom-only");
        e.preventDefault();
        break;
      case "x":
        changeBomLayout("left-right");
        e.preventDefault();
        break;
      case "c":
        changeBomLayout("top-bottom");
        e.preventDefault();
        break;
      case "v":
        changeCanvasLayout("F");
        e.preventDefault();
        break;
      case "b":
        changeCanvasLayout("FB");
        e.preventDefault();
        break;
      case "n":
        changeCanvasLayout("B");
        e.preventDefault();
        break;
      default:
        break;
    }
    if (e.key >= '1' && e.key <= '9') {
      toggleBomCheckbox(currentHighlightedRowId, parseInt(e.key));
    }
  }
}

function hideNetlistButton() {
  document.getElementById("bom-ungrouped-btn").classList.remove("middle-button");
  document.getElementById("bom-ungrouped-btn").classList.add("right-most-button");
  document.getElementById("bom-netlist-btn").style.display = "none";
}

window.onload = function(e) {
  initUtils();
  initRender();
  initStorage();
  initDefaults();
  cleanGutters();
  populateMetadata();
  dbgdiv = document.getElementById("dbg");
  bom = document.getElementById("bombody");
  bomhead = document.getElementById("bomhead");
  filter = "";
  reflookup = "";
  if (!("nets" in pcbdata)) {
    hideNetlistButton();
  }
  initDone = true;
  prepCheckboxes();
  // Triggers render
  changeBomLayout(settings.bomlayout);

  // Users may leave fullscreen without touching the checkbox. Uncheck.
  document.addEventListener('fullscreenchange', () => {
    if (!document.fullscreenElement)
      document.getElementById('fullscreenCheckbox').checked = false;
  });
}

window.onresize = resizeAll;
window.matchMedia("print").addListener(resizeAll);

///////////////////////////////////////////////

///////////////////////////////////////////////

///////////////////////////////////////////////
  </script>
</head>

<body>

<div id="topmostdiv" class="topmostdiv">
  <div id="top">
    <div style="float: right; height: 100%;">
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="menubtn"></button>
        <div class="menu-content">
          <label class="menu-label menu-label-top" style="width: calc(50% - 18px)">
            <input id="darkmodeCheckbox" type="checkbox" onchange="setDarkMode(this.checked)">
            夜间模式
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label menu-label-top" style="width: calc(50% - 17px); border-left: 0;">
            <input id="fullscreenCheckbox" type="checkbox" onchange="setFullscreen(this.checked)">
            全屏
          </label>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="fabricationCheckbox" type="checkbox" checked onchange="fabricationVisible(this.checked)">
            工厂层
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="silkscreenCheckbox" type="checkbox" checked onchange="silkscreenVisible(this.checked)">
            丝印层
          </label>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="referencesCheckbox" type="checkbox" checked onchange="referencesVisible(this.checked)">
            位号
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="valuesCheckbox" type="checkbox" checked onchange="valuesVisible(this.checked)">
            元件值
          </label>
          <div id="tracksAndZonesCheckboxes">
            <label class="menu-label" style="width: calc(50% - 18px)">
              <input id="tracksCheckbox" type="checkbox" checked onchange="tracksVisible(this.checked)">
              线路
            </label><!-- This comment eats space! All of it!
            --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
              <input id="zonesCheckbox" type="checkbox" checked onchange="zonesVisible(this.checked)">
              覆铜
            </label>
          </div>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="padsCheckbox" type="checkbox" checked onchange="padsVisible(this.checked)">
            焊盘
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="dnpOutlineCheckbox" type="checkbox" checked onchange="dnpOutline(this.checked)">
            DNP元件
          </label>
          <label class="menu-label">
            <input id="highlightpin1Checkbox" type="checkbox" onchange="setHighlightPin1(this.checked)">
            高亮第一个引脚
          </label>
          <label class="menu-label">
            <input id="dragCheckbox" type="checkbox" checked onchange="setRedrawOnDrag(this.checked)">
            画面连续拖动
          </label>
          <label class="menu-label">
            <span>电路板旋转</span>
            <span style="float: right"><span id="rotationDegree">0</span>&#176;</span>
            <input id="boardRotation" type="range" min="-36" max="36" value="0" class="slider" oninput="setBoardRotation(this.value)">
          </label>
          <label class="menu-label">
            <div style="margin-left: 5px">Bom复选框</div>
            <input id="bomCheckboxes" class="menu-textbox" type=text
                   oninput="setBomCheckboxes(this.value)">
          </label>
          <label class="menu-label">
            <div style="margin-left: 5px">选中时表格字体变暗</div>
            <div id="darkenWhenCheckedContainer"></div>
          </label>
          <label class="menu-label">
            <span class="shameless-plug">
              <span>使用该项目创建</span>
              <a id="github-link" target="blank" href="https://github.com/openscopeproject/InteractiveHtmlBom">InteractiveHtmlBom</a>
            </span>
          </label>
        </div>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="fl-btn" class="left-most-button" onclick="changeCanvasLayout('F')"
                title="仅正面">F
        </button>
        <button id="fb-btn" class="middle-button" onclick="changeCanvasLayout('FB')"
                title="正反面">FB
        </button>
        <button id="bl-btn" class="right-most-button" onclick="changeCanvasLayout('B')"
                title="仅反面">B
        </button>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="bom-btn" class="left-most-button" onclick="changeBomLayout('bom-only')"
                title="仅BOM表"></button>
        <button id="lr-btn" class="middle-button" onclick="changeBomLayout('left-right')"
                title="BOM在左, 图纸在右"></button>
        <button id="tb-btn" class="right-most-button" onclick="changeBomLayout('top-bottom')"
                title="BOM在上, 图纸在下"></button>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="bom-grouped-btn" class="left-most-button" onclick="changeBomMode('grouped')"
                title="分组的BOM表"></button>
        <button id="bom-ungrouped-btn" class="middle-button" onclick="changeBomMode('ungrouped')"
                title="不分组的BOM表"></button>
        <button id="bom-netlist-btn" class="right-most-button" onclick="changeBomMode('netlist')"
                title="Netlist"></button>
      </div>
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="statsbtn"></button>
        <div class="menu-content">
          <table class="stats">
            <tbody>
              <tr>
                <td width="40%">PCB板数据</td>
                <td>正面</td>
                <td>反面</td>
                <td>总计</td>
              </tr>
              <tr>
                <td>电子元件</td>
                <td id="stats-components-front">~</td>
                <td id="stats-components-back">~</td>
                <td id="stats-components-total">~</td>
              </tr>
              <tr>
                <td>元件品类数量</td>
                <td id="stats-groups-front">~</td>
                <td id="stats-groups-back">~</td>
                <td id="stats-groups-total">~</td>
              </tr>
              <tr>
                <td>贴片焊盘</td>
                <td id="stats-smd-pads-front">~</td>
                <td id="stats-smd-pads-back">~</td>
                <td id="stats-smd-pads-total">~</td>
              </tr>
              <tr>
                <td>直插焊盘</td>
                <td colspan=3 id="stats-th-pads">~</td>
              </tr>
            </tbody>
          </table>
          <table class="stats">
            <col width="40%"/><col />
            <tbody id="checkbox-stats">
              <tr>
                <td colspan=2 style="border-top: 0">复选框</td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="iobtn"></button>
        <div class="menu-content">
          <div class="menu-label menu-label-top">
            <div style="margin-left: 5px;">保存纸板图像</div>
            <div class="flexbox">
              <input id="render-save-width" class="menu-textbox" type="text" value="1000" placeholder="Width"
                  style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
              <span>X</span>
              <input id="render-save-height" class="menu-textbox" type="text" value="1000" placeholder="Height"
                  style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
            </div>
            <label>
              <input id="render-save-transparent" type="checkbox">
              透明背景
            </label>
            <div class="flexbox">
              <button class="savebtn" onclick="saveImage('F')">正面</button>
              <button class="savebtn" onclick="saveImage('B')">反面</button>
            </div>
          </div>
          <div class="menu-label">
            <span style="margin-left: 5px;">配置和复选框状态</span>
            <div class="flexbox">
              <button class="savebtn" onclick="saveSettings()">导出</button>
              <button class="savebtn" onclick="loadSettings()">导入</button>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div id="fileinfodiv" style="overflow: auto;">
      <table class="fileinfo">
        <tbody>
          <tr>
            <td id="title" class="title" style="width: 70%">
              Title
            </td>
            <td id="revision" class="title" style="width: 30%">
              Revision
            </td>
          </tr>
          <tr>
            <td id="company">
              Company
            </td>
            <td id="filedate">
              Date
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
  <div id="bot" class="split" style="height: calc(100% - 80px)">
    <div id="bomdiv" class="split split-horizontal">
      <div style="width: 100%">
        <input id="reflookup" class="textbox searchbox reflookup hideonprint" type="text" placeholder="Ref lookup"
               oninput="updateRefLookup(this.value)">
        <input id="filter" class="textbox searchbox filter hideonprint" type="text" placeholder="Filter"
               oninput="updateFilter(this.value)">
        <div class="button-container hideonprint" style="float: left; margin: 0;">
          <button id="copy" title="Copy bom table to clipboard"
               onclick="copyToClipboard()"></button>
        </div>
      </div>
      <div id="dbg"></div>
      <table class="bom">
        <thead id="bomhead">
        </thead>
        <tbody id="bombody">
        </tbody>
      </table>
    </div>
    <div id="canvasdiv" class="split split-horizontal">
      <div id="frontcanvas" class="split" touch-action="none" style="overflow: hidden">
        <div style="position: relative; width: 100%; height: 100%;">
          <canvas id="F_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
          <canvas id="F_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
          <canvas id="F_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
          <canvas id="F_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
        </div>
      </div>
      <div id="backcanvas" class="split" touch-action="none" style="overflow: hidden">
        <div style="position: relative; width: 100%; height: 100%;">
          <canvas id="B_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
          <canvas id="B_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
          <canvas id="B_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
          <canvas id="B_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
        </div>
      </div>
    </div>
  </div>
</div>

</body>

</html>
